From 984f8303a4783e52596567acca181204b28245b4 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 18:18:29 +0300 Subject: [PATCH 01/13] solidity_ast: base node classes + vendored OZ solidity-ast schema Foundation for a full pydantic model of the solc compact AST as dumped by certoraRun --dump_asts. schema/schema.json is the OpenZeppelin solidity-ast 0.4.62 JSON Schema (MIT, see schema/NOTICE); models will be hand-authored and machine-verified against it. Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/base.py | 100 + certora_autosetup/solidity_ast/schema/NOTICE | 17 + .../solidity_ast/schema/schema.json | 4015 +++++++++++++++++ 3 files changed, 4132 insertions(+) create mode 100644 certora_autosetup/solidity_ast/base.py create mode 100644 certora_autosetup/solidity_ast/schema/NOTICE create mode 100644 certora_autosetup/solidity_ast/schema/schema.json diff --git a/certora_autosetup/solidity_ast/base.py b/certora_autosetup/solidity_ast/base.py new file mode 100644 index 0000000..9f66591 --- /dev/null +++ b/certora_autosetup/solidity_ast/base.py @@ -0,0 +1,100 @@ +"""Base classes and shared value types for the Solidity compact-AST pydantic models. + +The models in this subpackage describe the solc "compact AST" (the ``ast`` entry of +solc standard-json output for each source file), as it appears inside the +``.asts.json`` dump produced by ``certoraRun --dump_asts``. Field sets are +transcribed from the vendored OpenZeppelin ``solidity-ast`` JSON Schema +(see ``schema/schema.json`` and ``schema/NOTICE``), which unions solc versions +>= 0.6 into a single schema. ``tests/solidity_ast/test_schema_conformance.py`` +machine-checks every model against that schema. + +Transcription conventions (uniform across all node modules): + +- schema-required property -> plain annotated field, no default +- schema-optional property (absent + from ``required``; version-gated) -> ``T | None = None`` +- required-but-nullable property + (``anyOf [T, null]``) -> ``T | None`` with NO default +- ``nodeType`` -> ``Literal["X"]`` (the union discriminator) +- reference to a schema union helper + (Expression/Statement/TypeName/...) -> string forward ref to the union alias, + resolved by ``unions.model_rebuild`` wiring +- schema enum property -> shared ``Literal`` alias below when it matches a + helper definition, inline ``Literal[...]`` otherwise +- python-keyword property name -> trailing-underscore field with ``alias=`` (the only + known case is ``UsingForDirective.global``) +""" + +from __future__ import annotations + +from typing import Literal, NamedTuple + +from pydantic import BaseModel, ConfigDict + +# Shared enum aliases, mirroring the schema's helper definitions of the same names. +Visibility = Literal["external", "public", "internal", "private"] +StateMutability = Literal["payable", "pure", "nonpayable", "view"] +Mutability = Literal["mutable", "immutable", "constant"] +StorageLocation = Literal["calldata", "default", "memory", "storage", "transient"] + + +class SrcLocation(NamedTuple): + """Decoded solc source location ("offset:length:fileIndex", byte-based).""" + + offset: int + length: int + file_index: int + + +def parse_src(src: str) -> SrcLocation: + """Parse a solc ``src`` string ("offset:length:fileIndex") into byte offsets. + + Raises ValueError on malformed input. ``fileIndex`` may be -1 for nodes solc + synthesizes without a source file. + """ + offset, length, file_index = src.split(":") + return SrcLocation(int(offset), int(length), int(file_index)) + + +class AstNode(BaseModel): + """Common base of every Solidity and Yul compact-AST node. + + ``extra="allow"`` keeps fields from newer solc releases (not yet in the vendored + schema) available via ``model_extra`` instead of failing validation. + """ + + model_config = ConfigDict( + extra="allow", validate_by_name=True, serialize_by_alias=True + ) + + src: str + # Injected by certoraRun into the dump on nodes enclosed in a ContractDefinition; + # never present in raw solc output. + certora_contract_name: str | None = None + + @property + def src_location(self) -> SrcLocation: + return parse_src(self.src) + + +class SolcNode(AstNode): + """A Solidity-language node: always carries a numeric ``id``.""" + + id: int + + +class YulNode(AstNode): + """A Yul node (inside ``InlineAssembly.AST``): no ``id``; ``src`` points into the + original Solidity source and ``nativeSrc`` (solc >= 0.8.21) into the generated Yul. + """ + + nativeSrc: str | None = None + + +class TypeDescriptions(BaseModel): + """The ``typeDescriptions`` object attached to expressions and type names.""" + + model_config = ConfigDict(extra="allow") + + typeIdentifier: str | None = None + typeString: str | None = None diff --git a/certora_autosetup/solidity_ast/schema/NOTICE b/certora_autosetup/solidity_ast/schema/NOTICE new file mode 100644 index 0000000..b2a431f --- /dev/null +++ b/certora_autosetup/solidity_ast/schema/NOTICE @@ -0,0 +1,17 @@ +schema.json is vendored from the OpenZeppelin `solidity-ast` npm package. + + Package: solidity-ast + Version: 0.4.62 + Source: https://unpkg.com/solidity-ast@0.4.62/schema.json + Project: https://github.com/OpenZeppelin/solidity-ast + License: MIT (Copyright (c) 2020 OpenZeppelin) — see the project repository + for the full license text. + +It is a JSON Schema (draft-06) of the Solidity compiler's compact JSON AST, +unioning solc versions >= 0.6: fields added in later solc releases are optional, +fields whose value can be null are anyOf-nullable. + +To refresh: pick an explicit version and run + curl -sL https://unpkg.com/solidity-ast@/schema.json -o schema.json +then update this NOTICE and re-run tests/solidity_ast/ (the conformance test +will point at any model fields that need to follow). diff --git a/certora_autosetup/solidity_ast/schema/schema.json b/certora_autosetup/solidity_ast/schema/schema.json new file mode 100644 index 0000000..ac72844 --- /dev/null +++ b/certora_autosetup/solidity_ast/schema/schema.json @@ -0,0 +1,4015 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "SourceUnit", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "absolutePath": { + "type": "string" + }, + "exportedSymbols": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "experimentalSolidity": { + "type": "boolean" + }, + "license": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "nodes": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ContractDefinition" + }, + { + "$ref": "#/definitions/EnumDefinition" + }, + { + "$ref": "#/definitions/ErrorDefinition" + }, + { + "$ref": "#/definitions/FunctionDefinition" + }, + { + "$ref": "#/definitions/ImportDirective" + }, + { + "$ref": "#/definitions/PragmaDirective" + }, + { + "$ref": "#/definitions/StructDefinition" + }, + { + "$ref": "#/definitions/UserDefinedValueTypeDefinition" + }, + { + "$ref": "#/definitions/UsingForDirective" + }, + { + "$ref": "#/definitions/VariableDeclaration" + } + ] + } + }, + "nodeType": { + "enum": [ + "SourceUnit" + ] + } + }, + "required": [ + "id", + "src", + "absolutePath", + "exportedSymbols", + "nodes", + "nodeType" + ], + "definitions": { + "SourceLocation": { + "type": "string", + "pattern": "^\\d+:\\d+:\\d+$" + }, + "Mutability": { + "enum": [ + "mutable", + "immutable", + "constant" + ] + }, + "StateMutability": { + "enum": [ + "payable", + "pure", + "nonpayable", + "view" + ] + }, + "StorageLocation": { + "enum": [ + "calldata", + "default", + "memory", + "storage", + "transient" + ] + }, + "Visibility": { + "enum": [ + "external", + "public", + "internal", + "private" + ] + }, + "TypeDescriptions": { + "type": "object", + "additionalProperties": false, + "properties": { + "typeIdentifier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "typeString": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [] + }, + "Expression": { + "anyOf": [ + { + "$ref": "#/definitions/Assignment" + }, + { + "$ref": "#/definitions/BinaryOperation" + }, + { + "$ref": "#/definitions/Conditional" + }, + { + "$ref": "#/definitions/ElementaryTypeNameExpression" + }, + { + "$ref": "#/definitions/FunctionCall" + }, + { + "$ref": "#/definitions/FunctionCallOptions" + }, + { + "$ref": "#/definitions/Identifier" + }, + { + "$ref": "#/definitions/IndexAccess" + }, + { + "$ref": "#/definitions/IndexRangeAccess" + }, + { + "$ref": "#/definitions/Literal" + }, + { + "$ref": "#/definitions/MemberAccess" + }, + { + "$ref": "#/definitions/NewExpression" + }, + { + "$ref": "#/definitions/TupleExpression" + }, + { + "$ref": "#/definitions/UnaryOperation" + } + ] + }, + "Statement": { + "anyOf": [ + { + "$ref": "#/definitions/Block" + }, + { + "$ref": "#/definitions/Break" + }, + { + "$ref": "#/definitions/Continue" + }, + { + "$ref": "#/definitions/DoWhileStatement" + }, + { + "$ref": "#/definitions/EmitStatement" + }, + { + "$ref": "#/definitions/ExpressionStatement" + }, + { + "$ref": "#/definitions/ForStatement" + }, + { + "$ref": "#/definitions/IfStatement" + }, + { + "$ref": "#/definitions/InlineAssembly" + }, + { + "$ref": "#/definitions/PlaceholderStatement" + }, + { + "$ref": "#/definitions/Return" + }, + { + "$ref": "#/definitions/RevertStatement" + }, + { + "$ref": "#/definitions/TryStatement" + }, + { + "$ref": "#/definitions/UncheckedBlock" + }, + { + "$ref": "#/definitions/VariableDeclarationStatement" + }, + { + "$ref": "#/definitions/WhileStatement" + } + ] + }, + "TypeName": { + "anyOf": [ + { + "$ref": "#/definitions/ArrayTypeName" + }, + { + "$ref": "#/definitions/ElementaryTypeName" + }, + { + "$ref": "#/definitions/FunctionTypeName" + }, + { + "$ref": "#/definitions/Mapping" + }, + { + "$ref": "#/definitions/UserDefinedTypeName" + } + ] + }, + "ArrayTypeName": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "baseType": { + "$ref": "#/definitions/TypeName" + }, + "length": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "ArrayTypeName" + ] + } + }, + "required": [ + "id", + "src", + "typeDescriptions", + "baseType", + "nodeType" + ] + }, + "Assignment": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "leftHandSide": { + "$ref": "#/definitions/Expression" + }, + "operator": { + "enum": [ + "=", + "+=", + "-=", + "*=", + "/=", + "%=", + "|=", + "&=", + "^=", + ">>=", + "<<=" + ] + }, + "rightHandSide": { + "$ref": "#/definitions/Expression" + }, + "nodeType": { + "enum": [ + "Assignment" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "leftHandSide", + "operator", + "rightHandSide", + "nodeType" + ] + }, + "BinaryOperation": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "commonType": { + "$ref": "#/definitions/TypeDescriptions" + }, + "leftExpression": { + "$ref": "#/definitions/Expression" + }, + "operator": { + "enum": [ + "+", + "-", + "*", + "/", + "%", + "**", + "&&", + "||", + "!=", + "==", + "<", + "<=", + ">", + ">=", + "^", + "&", + "|", + "<<", + ">>" + ] + }, + "rightExpression": { + "$ref": "#/definitions/Expression" + }, + "function": { + "type": "integer" + }, + "nodeType": { + "enum": [ + "BinaryOperation" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "commonType", + "leftExpression", + "operator", + "rightExpression", + "nodeType" + ] + }, + "Block": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "statements": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Statement" + } + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "Block" + ] + } + }, + "required": [ + "id", + "src", + "nodeType" + ] + }, + "Break": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "nodeType": { + "enum": [ + "Break" + ] + } + }, + "required": [ + "id", + "src", + "nodeType" + ] + }, + "Conditional": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "condition": { + "$ref": "#/definitions/Expression" + }, + "falseExpression": { + "$ref": "#/definitions/Expression" + }, + "trueExpression": { + "$ref": "#/definitions/Expression" + }, + "nodeType": { + "enum": [ + "Conditional" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "condition", + "falseExpression", + "trueExpression", + "nodeType" + ] + }, + "Continue": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "nodeType": { + "enum": [ + "Continue" + ] + } + }, + "required": [ + "id", + "src", + "nodeType" + ] + }, + "ContractDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "abstract": { + "type": "boolean" + }, + "baseContracts": { + "type": "array", + "items": { + "$ref": "#/definitions/InheritanceSpecifier" + } + }, + "canonicalName": { + "type": "string" + }, + "contractDependencies": { + "type": "array", + "items": { + "type": "integer" + } + }, + "contractKind": { + "enum": [ + "contract", + "interface", + "library" + ] + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "fullyImplemented": { + "type": "boolean" + }, + "linearizedBaseContracts": { + "type": "array", + "items": { + "type": "integer" + } + }, + "nodes": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/EnumDefinition" + }, + { + "$ref": "#/definitions/ErrorDefinition" + }, + { + "$ref": "#/definitions/EventDefinition" + }, + { + "$ref": "#/definitions/FunctionDefinition" + }, + { + "$ref": "#/definitions/ModifierDefinition" + }, + { + "$ref": "#/definitions/StructDefinition" + }, + { + "$ref": "#/definitions/UserDefinedValueTypeDefinition" + }, + { + "$ref": "#/definitions/UsingForDirective" + }, + { + "$ref": "#/definitions/VariableDeclaration" + } + ] + } + }, + "scope": { + "type": "integer" + }, + "usedErrors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "usedEvents": { + "type": "array", + "items": { + "type": "integer" + } + }, + "internalFunctionIDs": { + "type": "object", + "additionalProperties": { + "type": "integer" + } + }, + "storageLayout": { + "$ref": "#/definitions/StorageLayoutSpecifier" + }, + "nodeType": { + "enum": [ + "ContractDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "abstract", + "baseContracts", + "contractDependencies", + "contractKind", + "fullyImplemented", + "linearizedBaseContracts", + "nodes", + "scope", + "nodeType" + ] + }, + "StorageLayoutSpecifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "baseSlotExpression": { + "$ref": "#/definitions/Expression" + }, + "nodeType": { + "enum": [ + "StorageLayoutSpecifier" + ] + } + }, + "required": [ + "id", + "src", + "baseSlotExpression", + "nodeType" + ] + }, + "DoWhileStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "body": { + "anyOf": [ + { + "$ref": "#/definitions/Block" + }, + { + "$ref": "#/definitions/Statement" + } + ] + }, + "condition": { + "$ref": "#/definitions/Expression" + }, + "nodeType": { + "enum": [ + "DoWhileStatement" + ] + } + }, + "required": [ + "id", + "src", + "body", + "condition", + "nodeType" + ] + }, + "ElementaryTypeName": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "name": { + "type": "string" + }, + "stateMutability": { + "$ref": "#/definitions/StateMutability" + }, + "nodeType": { + "enum": [ + "ElementaryTypeName" + ] + } + }, + "required": [ + "id", + "src", + "typeDescriptions", + "name", + "nodeType" + ] + }, + "ElementaryTypeNameExpression": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "typeName": { + "$ref": "#/definitions/ElementaryTypeName" + }, + "nodeType": { + "enum": [ + "ElementaryTypeNameExpression" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "typeName", + "nodeType" + ] + }, + "EmitStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "eventCall": { + "$ref": "#/definitions/FunctionCall" + }, + "nodeType": { + "enum": [ + "EmitStatement" + ] + } + }, + "required": [ + "id", + "src", + "eventCall", + "nodeType" + ] + }, + "EnumDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "canonicalName": { + "type": "string" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/EnumValue" + } + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "EnumDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "canonicalName", + "members", + "nodeType" + ] + }, + "EnumValue": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "EnumValue" + ] + } + }, + "required": [ + "id", + "src", + "name", + "nodeType" + ] + }, + "ErrorDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "errorSelector": { + "type": "string" + }, + "parameters": { + "$ref": "#/definitions/ParameterList" + }, + "nodeType": { + "enum": [ + "ErrorDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "nameLocation", + "parameters", + "nodeType" + ] + }, + "EventDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "anonymous": { + "type": "boolean" + }, + "eventSelector": { + "type": "string" + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "parameters": { + "$ref": "#/definitions/ParameterList" + }, + "nodeType": { + "enum": [ + "EventDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "anonymous", + "parameters", + "nodeType" + ] + }, + "ExpressionStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "expression": { + "$ref": "#/definitions/Expression" + }, + "nodeType": { + "enum": [ + "ExpressionStatement" + ] + } + }, + "required": [ + "id", + "src", + "expression", + "nodeType" + ] + }, + "ForStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "body": { + "anyOf": [ + { + "$ref": "#/definitions/Block" + }, + { + "$ref": "#/definitions/Statement" + } + ] + }, + "condition": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "initializationExpression": { + "anyOf": [ + { + "anyOf": [ + { + "$ref": "#/definitions/ExpressionStatement" + }, + { + "$ref": "#/definitions/VariableDeclarationStatement" + } + ] + }, + { + "type": "null" + } + ] + }, + "loopExpression": { + "anyOf": [ + { + "$ref": "#/definitions/ExpressionStatement" + }, + { + "type": "null" + } + ] + }, + "isSimpleCounterLoop": { + "type": "boolean" + }, + "nodeType": { + "enum": [ + "ForStatement" + ] + } + }, + "required": [ + "id", + "src", + "body", + "nodeType" + ] + }, + "FunctionCall": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/definitions/Expression" + } + }, + "expression": { + "$ref": "#/definitions/Expression" + }, + "kind": { + "enum": [ + "functionCall", + "typeConversion", + "structConstructorCall" + ] + }, + "names": { + "type": "array", + "items": { + "type": "string" + } + }, + "nameLocations": { + "type": "array", + "items": { + "type": "string" + } + }, + "tryCall": { + "type": "boolean" + }, + "nodeType": { + "enum": [ + "FunctionCall" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "arguments", + "expression", + "kind", + "names", + "tryCall", + "nodeType" + ] + }, + "FunctionCallOptions": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "expression": { + "$ref": "#/definitions/Expression" + }, + "names": { + "type": "array", + "items": { + "type": "string" + } + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/Expression" + } + }, + "nodeType": { + "enum": [ + "FunctionCallOptions" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isPure", + "lValueRequested", + "typeDescriptions", + "expression", + "names", + "options", + "nodeType" + ] + }, + "FunctionDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "baseFunctions": { + "type": "array", + "items": { + "type": "integer" + } + }, + "body": { + "anyOf": [ + { + "$ref": "#/definitions/Block" + }, + { + "type": "null" + } + ] + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "functionSelector": { + "type": "string" + }, + "implemented": { + "type": "boolean" + }, + "kind": { + "enum": [ + "function", + "receive", + "constructor", + "fallback", + "freeFunction" + ] + }, + "modifiers": { + "type": "array", + "items": { + "$ref": "#/definitions/ModifierInvocation" + } + }, + "overrides": { + "anyOf": [ + { + "$ref": "#/definitions/OverrideSpecifier" + }, + { + "type": "null" + } + ] + }, + "parameters": { + "$ref": "#/definitions/ParameterList" + }, + "returnParameters": { + "$ref": "#/definitions/ParameterList" + }, + "scope": { + "type": "integer" + }, + "stateMutability": { + "$ref": "#/definitions/StateMutability" + }, + "virtual": { + "type": "boolean" + }, + "visibility": { + "$ref": "#/definitions/Visibility" + }, + "nodeType": { + "enum": [ + "FunctionDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "implemented", + "kind", + "modifiers", + "parameters", + "returnParameters", + "scope", + "stateMutability", + "virtual", + "visibility", + "nodeType" + ] + }, + "FunctionTypeName": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "parameterTypes": { + "$ref": "#/definitions/ParameterList" + }, + "returnParameterTypes": { + "$ref": "#/definitions/ParameterList" + }, + "stateMutability": { + "$ref": "#/definitions/StateMutability" + }, + "visibility": { + "$ref": "#/definitions/Visibility" + }, + "nodeType": { + "enum": [ + "FunctionTypeName" + ] + } + }, + "required": [ + "id", + "src", + "typeDescriptions", + "parameterTypes", + "returnParameterTypes", + "stateMutability", + "visibility", + "nodeType" + ] + }, + "Identifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "name": { + "type": "string" + }, + "overloadedDeclarations": { + "type": "array", + "items": { + "type": "integer" + } + }, + "referencedDeclaration": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "nodeType": { + "enum": [ + "Identifier" + ] + } + }, + "required": [ + "id", + "src", + "name", + "overloadedDeclarations", + "typeDescriptions", + "nodeType" + ] + }, + "IdentifierPath": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocations": { + "type": "array", + "items": { + "type": "string" + } + }, + "referencedDeclaration": { + "type": "integer" + }, + "nodeType": { + "enum": [ + "IdentifierPath" + ] + } + }, + "required": [ + "id", + "src", + "name", + "referencedDeclaration", + "nodeType" + ] + }, + "IfStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "condition": { + "$ref": "#/definitions/Expression" + }, + "falseBody": { + "anyOf": [ + { + "anyOf": [ + { + "$ref": "#/definitions/Statement" + }, + { + "$ref": "#/definitions/Block" + } + ] + }, + { + "type": "null" + } + ] + }, + "trueBody": { + "anyOf": [ + { + "$ref": "#/definitions/Statement" + }, + { + "$ref": "#/definitions/Block" + } + ] + }, + "nodeType": { + "enum": [ + "IfStatement" + ] + } + }, + "required": [ + "id", + "src", + "condition", + "trueBody", + "nodeType" + ] + }, + "ImportDirective": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "absolutePath": { + "type": "string" + }, + "file": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "scope": { + "type": "integer" + }, + "sourceUnit": { + "type": "integer" + }, + "symbolAliases": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "foreign": { + "$ref": "#/definitions/Identifier" + }, + "local": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "nameLocation": { + "type": "string" + } + }, + "required": [ + "foreign" + ] + } + }, + "unitAlias": { + "type": "string" + }, + "nodeType": { + "enum": [ + "ImportDirective" + ] + } + }, + "required": [ + "id", + "src", + "absolutePath", + "file", + "scope", + "sourceUnit", + "symbolAliases", + "unitAlias", + "nodeType" + ] + }, + "IndexAccess": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "baseExpression": { + "$ref": "#/definitions/Expression" + }, + "indexExpression": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "IndexAccess" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "baseExpression", + "nodeType" + ] + }, + "IndexRangeAccess": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "baseExpression": { + "$ref": "#/definitions/Expression" + }, + "endExpression": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "startExpression": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "IndexRangeAccess" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "baseExpression", + "nodeType" + ] + }, + "InheritanceSpecifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "arguments": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Expression" + } + }, + { + "type": "null" + } + ] + }, + "baseName": { + "anyOf": [ + { + "$ref": "#/definitions/UserDefinedTypeName" + }, + { + "$ref": "#/definitions/IdentifierPath" + } + ] + }, + "nodeType": { + "enum": [ + "InheritanceSpecifier" + ] + } + }, + "required": [ + "id", + "src", + "baseName", + "nodeType" + ] + }, + "InlineAssembly": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "AST": { + "$ref": "#/definitions/YulBlock" + }, + "evmVersion": { + "enum": [ + "homestead", + "tangerineWhistle", + "spuriousDragon", + "byzantium", + "constantinople", + "petersburg", + "istanbul", + "berlin", + "london", + "paris", + "shanghai", + "cancun", + "prague", + "osaka" + ] + }, + "externalReferences": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "declaration": { + "type": "integer" + }, + "isOffset": { + "type": "boolean" + }, + "isSlot": { + "type": "boolean" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "valueSize": { + "type": "integer" + }, + "suffix": { + "enum": [ + "slot", + "offset", + "length" + ] + } + }, + "required": [ + "declaration", + "isOffset", + "isSlot", + "src", + "valueSize" + ] + } + }, + "flags": { + "type": "array", + "items": { + "enum": [ + "memory-safe" + ] + } + }, + "nodeType": { + "enum": [ + "InlineAssembly" + ] + } + }, + "required": [ + "id", + "src", + "AST", + "evmVersion", + "externalReferences", + "nodeType" + ] + }, + "Literal": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "hexValue": { + "type": "string", + "pattern": "^[0-9a-f]*$" + }, + "kind": { + "enum": [ + "bool", + "number", + "string", + "hexString", + "unicodeString" + ] + }, + "subdenomination": { + "anyOf": [ + { + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "wei", + "gwei", + "ether", + "finney", + "szabo" + ] + }, + { + "type": "null" + } + ] + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "Literal" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "hexValue", + "kind", + "nodeType" + ] + }, + "Mapping": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "keyType": { + "$ref": "#/definitions/TypeName" + }, + "valueType": { + "$ref": "#/definitions/TypeName" + }, + "keyName": { + "type": "string" + }, + "keyNameLocation": { + "type": "string" + }, + "valueName": { + "type": "string" + }, + "valueNameLocation": { + "type": "string" + }, + "nodeType": { + "enum": [ + "Mapping" + ] + } + }, + "required": [ + "id", + "src", + "typeDescriptions", + "keyType", + "valueType", + "nodeType" + ] + }, + "MemberAccess": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "expression": { + "$ref": "#/definitions/Expression" + }, + "memberName": { + "type": "string" + }, + "memberLocation": { + "type": "string" + }, + "referencedDeclaration": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "MemberAccess" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "expression", + "memberName", + "nodeType" + ] + }, + "ModifierDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "baseModifiers": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "type": "null" + } + ] + }, + "body": { + "anyOf": [ + { + "$ref": "#/definitions/Block" + }, + { + "type": "null" + } + ] + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "overrides": { + "anyOf": [ + { + "$ref": "#/definitions/OverrideSpecifier" + }, + { + "type": "null" + } + ] + }, + "parameters": { + "$ref": "#/definitions/ParameterList" + }, + "virtual": { + "type": "boolean" + }, + "visibility": { + "$ref": "#/definitions/Visibility" + }, + "nodeType": { + "enum": [ + "ModifierDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "parameters", + "virtual", + "visibility", + "nodeType" + ] + }, + "ModifierInvocation": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "arguments": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Expression" + } + }, + { + "type": "null" + } + ] + }, + "kind": { + "enum": [ + "modifierInvocation", + "baseConstructorSpecifier" + ] + }, + "modifierName": { + "anyOf": [ + { + "$ref": "#/definitions/Identifier" + }, + { + "$ref": "#/definitions/IdentifierPath" + } + ] + }, + "nodeType": { + "enum": [ + "ModifierInvocation" + ] + } + }, + "required": [ + "id", + "src", + "modifierName", + "nodeType" + ] + }, + "NewExpression": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "typeName": { + "$ref": "#/definitions/TypeName" + }, + "nodeType": { + "enum": [ + "NewExpression" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isPure", + "lValueRequested", + "typeDescriptions", + "typeName", + "nodeType" + ] + }, + "OverrideSpecifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "overrides": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UserDefinedTypeName" + } + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/IdentifierPath" + } + } + ] + }, + "nodeType": { + "enum": [ + "OverrideSpecifier" + ] + } + }, + "required": [ + "id", + "src", + "overrides", + "nodeType" + ] + }, + "ParameterList": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/VariableDeclaration" + } + }, + "nodeType": { + "enum": [ + "ParameterList" + ] + } + }, + "required": [ + "id", + "src", + "parameters", + "nodeType" + ] + }, + "PlaceholderStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "nodeType": { + "enum": [ + "PlaceholderStatement" + ] + } + }, + "required": [ + "id", + "src", + "nodeType" + ] + }, + "PragmaDirective": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "literals": { + "type": "array", + "items": { + "type": "string" + } + }, + "nodeType": { + "enum": [ + "PragmaDirective" + ] + } + }, + "required": [ + "id", + "src", + "literals", + "nodeType" + ] + }, + "Return": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "expression": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "functionReturnParameters": { + "type": "integer" + }, + "nodeType": { + "enum": [ + "Return" + ] + } + }, + "required": [ + "id", + "src", + "functionReturnParameters", + "nodeType" + ] + }, + "RevertStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "errorCall": { + "$ref": "#/definitions/FunctionCall" + }, + "nodeType": { + "enum": [ + "RevertStatement" + ] + } + }, + "required": [ + "id", + "src", + "errorCall", + "nodeType" + ] + }, + "StructDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "canonicalName": { + "type": "string" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/VariableDeclaration" + } + }, + "scope": { + "type": "integer" + }, + "visibility": { + "$ref": "#/definitions/Visibility" + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "StructDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "canonicalName", + "members", + "scope", + "visibility", + "nodeType" + ] + }, + "StructuredDocumentation": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "text": { + "type": "string" + }, + "nodeType": { + "enum": [ + "StructuredDocumentation" + ] + } + }, + "required": [ + "id", + "src", + "text", + "nodeType" + ] + }, + "TryCatchClause": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "block": { + "$ref": "#/definitions/Block" + }, + "errorName": { + "type": "string" + }, + "parameters": { + "anyOf": [ + { + "$ref": "#/definitions/ParameterList" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "TryCatchClause" + ] + } + }, + "required": [ + "id", + "src", + "block", + "errorName", + "nodeType" + ] + }, + "TryStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "clauses": { + "type": "array", + "items": { + "$ref": "#/definitions/TryCatchClause" + } + }, + "externalCall": { + "$ref": "#/definitions/FunctionCall" + }, + "nodeType": { + "enum": [ + "TryStatement" + ] + } + }, + "required": [ + "id", + "src", + "clauses", + "externalCall", + "nodeType" + ] + }, + "TupleExpression": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "components": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + } + }, + "isInlineArray": { + "type": "boolean" + }, + "nodeType": { + "enum": [ + "TupleExpression" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "components", + "isInlineArray", + "nodeType" + ] + }, + "UnaryOperation": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "argumentTypes": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TypeDescriptions" + } + }, + { + "type": "null" + } + ] + }, + "isConstant": { + "type": "boolean" + }, + "isLValue": { + "type": "boolean" + }, + "isPure": { + "type": "boolean" + }, + "lValueRequested": { + "type": "boolean" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "operator": { + "enum": [ + "++", + "--", + "-", + "!", + "delete", + "~" + ] + }, + "prefix": { + "type": "boolean" + }, + "subExpression": { + "$ref": "#/definitions/Expression" + }, + "function": { + "type": "integer" + }, + "nodeType": { + "enum": [ + "UnaryOperation" + ] + } + }, + "required": [ + "id", + "src", + "isConstant", + "isLValue", + "isPure", + "lValueRequested", + "typeDescriptions", + "operator", + "prefix", + "subExpression", + "nodeType" + ] + }, + "UncheckedBlock": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "statements": { + "type": "array", + "items": { + "$ref": "#/definitions/Statement" + } + }, + "nodeType": { + "enum": [ + "UncheckedBlock" + ] + } + }, + "required": [ + "id", + "src", + "statements", + "nodeType" + ] + }, + "UserDefinedTypeName": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "contractScope": { + "type": "null" + }, + "name": { + "type": "string" + }, + "pathNode": { + "$ref": "#/definitions/IdentifierPath" + }, + "referencedDeclaration": { + "type": "integer" + }, + "nodeType": { + "enum": [ + "UserDefinedTypeName" + ] + } + }, + "required": [ + "id", + "src", + "typeDescriptions", + "referencedDeclaration", + "nodeType" + ] + }, + "UserDefinedValueTypeDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "canonicalName": { + "type": "string" + }, + "underlyingType": { + "$ref": "#/definitions/TypeName" + }, + "nodeType": { + "enum": [ + "UserDefinedValueTypeDefinition" + ] + } + }, + "required": [ + "id", + "src", + "name", + "underlyingType", + "nodeType" + ] + }, + "UsingForDirective": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "functionList": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "additionalProperties": false, + "properties": { + "function": { + "$ref": "#/definitions/IdentifierPath" + } + }, + "required": [ + "function" + ] + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "operator": { + "enum": [ + "&", + "|", + "^", + "~", + "+", + "-", + "*", + "/", + "%", + "==", + "!=", + "<", + "<=", + ">", + ">=" + ] + }, + "definition": { + "$ref": "#/definitions/IdentifierPath" + } + }, + "required": [ + "operator", + "definition" + ] + } + ] + } + }, + "global": { + "type": "boolean" + }, + "libraryName": { + "anyOf": [ + { + "$ref": "#/definitions/UserDefinedTypeName" + }, + { + "$ref": "#/definitions/IdentifierPath" + } + ] + }, + "typeName": { + "anyOf": [ + { + "$ref": "#/definitions/TypeName" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "UsingForDirective" + ] + } + }, + "required": [ + "id", + "src", + "nodeType" + ] + }, + "VariableDeclaration": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nameLocation": { + "type": "string" + }, + "baseFunctions": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "type": "null" + } + ] + }, + "constant": { + "type": "boolean" + }, + "documentation": { + "anyOf": [ + { + "$ref": "#/definitions/StructuredDocumentation" + }, + { + "type": "null" + } + ] + }, + "functionSelector": { + "type": "string" + }, + "indexed": { + "type": "boolean" + }, + "mutability": { + "$ref": "#/definitions/Mutability" + }, + "overrides": { + "anyOf": [ + { + "$ref": "#/definitions/OverrideSpecifier" + }, + { + "type": "null" + } + ] + }, + "scope": { + "type": "integer" + }, + "stateVariable": { + "type": "boolean" + }, + "storageLocation": { + "$ref": "#/definitions/StorageLocation" + }, + "typeDescriptions": { + "$ref": "#/definitions/TypeDescriptions" + }, + "typeName": { + "anyOf": [ + { + "$ref": "#/definitions/TypeName" + }, + { + "type": "null" + } + ] + }, + "value": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "visibility": { + "$ref": "#/definitions/Visibility" + }, + "nodeType": { + "enum": [ + "VariableDeclaration" + ] + } + }, + "required": [ + "id", + "src", + "name", + "constant", + "mutability", + "scope", + "stateVariable", + "storageLocation", + "typeDescriptions", + "visibility", + "nodeType" + ] + }, + "VariableDeclarationStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "assignments": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + } + }, + "declarations": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/VariableDeclaration" + }, + { + "type": "null" + } + ] + } + }, + "initialValue": { + "anyOf": [ + { + "$ref": "#/definitions/Expression" + }, + { + "type": "null" + } + ] + }, + "nodeType": { + "enum": [ + "VariableDeclarationStatement" + ] + } + }, + "required": [ + "id", + "src", + "assignments", + "declarations", + "nodeType" + ] + }, + "WhileStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "documentation": { + "type": "string" + }, + "body": { + "anyOf": [ + { + "$ref": "#/definitions/Block" + }, + { + "$ref": "#/definitions/Statement" + } + ] + }, + "condition": { + "$ref": "#/definitions/Expression" + }, + "nodeType": { + "enum": [ + "WhileStatement" + ] + } + }, + "required": [ + "id", + "src", + "body", + "condition", + "nodeType" + ] + }, + "YulStatement": { + "anyOf": [ + { + "$ref": "#/definitions/YulAssignment" + }, + { + "$ref": "#/definitions/YulBlock" + }, + { + "$ref": "#/definitions/YulBreak" + }, + { + "$ref": "#/definitions/YulContinue" + }, + { + "$ref": "#/definitions/YulExpressionStatement" + }, + { + "$ref": "#/definitions/YulLeave" + }, + { + "$ref": "#/definitions/YulForLoop" + }, + { + "$ref": "#/definitions/YulFunctionDefinition" + }, + { + "$ref": "#/definitions/YulIf" + }, + { + "$ref": "#/definitions/YulSwitch" + }, + { + "$ref": "#/definitions/YulVariableDeclaration" + } + ] + }, + "YulExpression": { + "anyOf": [ + { + "$ref": "#/definitions/YulFunctionCall" + }, + { + "$ref": "#/definitions/YulIdentifier" + }, + { + "$ref": "#/definitions/YulLiteral" + } + ] + }, + "YulLiteral": { + "anyOf": [ + { + "$ref": "#/definitions/YulLiteralValue" + }, + { + "$ref": "#/definitions/YulLiteralHexValue" + } + ] + }, + "YulLiteralValue": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "value": { + "type": "string" + }, + "kind": { + "enum": [ + "number", + "string", + "bool" + ] + }, + "type": { + "type": "string" + }, + "nodeType": { + "enum": [ + "YulLiteral" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "value", + "kind", + "type", + "nodeType" + ] + }, + "YulLiteralHexValue": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "hexValue": { + "type": "string" + }, + "kind": { + "enum": [ + "number", + "string", + "bool" + ] + }, + "type": { + "type": "string" + }, + "value": { + "type": "string" + }, + "nodeType": { + "enum": [ + "YulLiteral" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "hexValue", + "kind", + "type", + "nodeType" + ] + }, + "YulAssignment": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "value": { + "$ref": "#/definitions/YulExpression" + }, + "variableNames": { + "type": "array", + "items": { + "$ref": "#/definitions/YulIdentifier" + } + }, + "nodeType": { + "enum": [ + "YulAssignment" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "value", + "variableNames", + "nodeType" + ] + }, + "YulBlock": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "statements": { + "type": "array", + "items": { + "$ref": "#/definitions/YulStatement" + } + }, + "nodeType": { + "enum": [ + "YulBlock" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "statements", + "nodeType" + ] + }, + "YulBreak": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "nodeType": { + "enum": [ + "YulBreak" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "nodeType" + ] + }, + "YulCase": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "body": { + "$ref": "#/definitions/YulBlock" + }, + "value": { + "anyOf": [ + { + "enum": [ + "default" + ] + }, + { + "$ref": "#/definitions/YulLiteral" + } + ] + }, + "nodeType": { + "enum": [ + "YulCase" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "body", + "value", + "nodeType" + ] + }, + "YulContinue": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "nodeType": { + "enum": [ + "YulContinue" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "nodeType" + ] + }, + "YulExpressionStatement": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "expression": { + "$ref": "#/definitions/YulExpression" + }, + "nodeType": { + "enum": [ + "YulExpressionStatement" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "expression", + "nodeType" + ] + }, + "YulFunctionCall": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/definitions/YulExpression" + } + }, + "functionName": { + "$ref": "#/definitions/YulIdentifier" + }, + "nodeType": { + "enum": [ + "YulFunctionCall" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "arguments", + "functionName", + "nodeType" + ] + }, + "YulForLoop": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "body": { + "$ref": "#/definitions/YulBlock" + }, + "condition": { + "$ref": "#/definitions/YulExpression" + }, + "post": { + "$ref": "#/definitions/YulBlock" + }, + "pre": { + "$ref": "#/definitions/YulBlock" + }, + "nodeType": { + "enum": [ + "YulForLoop" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "body", + "condition", + "post", + "pre", + "nodeType" + ] + }, + "YulFunctionDefinition": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "body": { + "$ref": "#/definitions/YulBlock" + }, + "name": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/YulTypedName" + } + }, + "returnVariables": { + "type": "array", + "items": { + "$ref": "#/definitions/YulTypedName" + } + }, + "nodeType": { + "enum": [ + "YulFunctionDefinition" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "body", + "name", + "nodeType" + ] + }, + "YulIdentifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "nodeType": { + "enum": [ + "YulIdentifier" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "name", + "nodeType" + ] + }, + "YulIf": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "body": { + "$ref": "#/definitions/YulBlock" + }, + "condition": { + "$ref": "#/definitions/YulExpression" + }, + "nodeType": { + "enum": [ + "YulIf" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "body", + "condition", + "nodeType" + ] + }, + "YulLeave": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "nodeType": { + "enum": [ + "YulLeave" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "nodeType" + ] + }, + "YulSwitch": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "cases": { + "type": "array", + "items": { + "$ref": "#/definitions/YulCase" + } + }, + "expression": { + "$ref": "#/definitions/YulExpression" + }, + "nodeType": { + "enum": [ + "YulSwitch" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "cases", + "expression", + "nodeType" + ] + }, + "YulTypedName": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "nodeType": { + "enum": [ + "YulTypedName" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "name", + "type", + "nodeType" + ] + }, + "YulVariableDeclaration": { + "type": "object", + "additionalProperties": false, + "properties": { + "src": { + "$ref": "#/definitions/SourceLocation" + }, + "value": { + "anyOf": [ + { + "$ref": "#/definitions/YulExpression" + }, + { + "type": "null" + } + ] + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/definitions/YulTypedName" + } + }, + "nodeType": { + "enum": [ + "YulVariableDeclaration" + ] + }, + "nativeSrc": { + "$ref": "#/definitions/SourceLocation" + } + }, + "required": [ + "src", + "variables", + "nodeType" + ] + } + } +} \ No newline at end of file From 62d5edd854debec7bc21d40871ab23fc054322f7 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 18:40:34 +0300 Subject: [PATCH 02/13] solidity_ast: full typed model set, unions, loader, traversal, conformance tests, fixtures 74 hand-authored pydantic v2 models (Solidity + Yul compact AST), discriminated unions with an UnknownNode fallback per union, single-point forward-ref rebuild, a loader for the 3-level --dump_asts structure (single-parse-per-source, Vyper raw passthrough, per-source degradation), traversal utilities incl. the frozen byte-compatible legacy parent-graph builder, a 151-case schema-conformance suite against the vendored schema, and real .asts.json fixtures generated via certoraRun for solc 0.6.12 / 0.7.6 / 0.8.30. Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/__init__.py | 173 + certora_autosetup/solidity_ast/base.py | 38 +- .../solidity_ast/declarations.py | 298 + certora_autosetup/solidity_ast/expressions.py | 220 + certora_autosetup/solidity_ast/loader.py | 143 + certora_autosetup/solidity_ast/statements.py | 171 + certora_autosetup/solidity_ast/traversal.py | 111 + certora_autosetup/solidity_ast/types.py | 73 + certora_autosetup/solidity_ast/unions.py | 403 + certora_autosetup/solidity_ast/yul.py | 186 + tests/fixtures/solidity_ast/README.md | 17 + .../solidity_ast/contracts/breadth_06.sol | 204 + .../solidity_ast/contracts/breadth_08.sol | 246 + .../expected_parent_graph_0_8_30.json | 668 + .../solidity_ast/generate_fixtures.py | 263 + .../solidity_ast/solc_0_6_12.asts.json | 48552 +++++++++++++ .../solidity_ast/solc_0_7_6.asts.json | 46052 ++++++++++++ .../solidity_ast/solc_0_8_30.asts.json | 58914 ++++++++++++++++ .../solidity_ast/vyper_mixed.asts.json | 1251 + tests/solidity_ast/__init__.py | 0 tests/solidity_ast/test_schema_conformance.py | 466 + 21 files changed, 158448 insertions(+), 1 deletion(-) create mode 100644 certora_autosetup/solidity_ast/__init__.py create mode 100644 certora_autosetup/solidity_ast/declarations.py create mode 100644 certora_autosetup/solidity_ast/expressions.py create mode 100644 certora_autosetup/solidity_ast/loader.py create mode 100644 certora_autosetup/solidity_ast/statements.py create mode 100644 certora_autosetup/solidity_ast/traversal.py create mode 100644 certora_autosetup/solidity_ast/types.py create mode 100644 certora_autosetup/solidity_ast/unions.py create mode 100644 certora_autosetup/solidity_ast/yul.py create mode 100644 tests/fixtures/solidity_ast/README.md create mode 100644 tests/fixtures/solidity_ast/contracts/breadth_06.sol create mode 100644 tests/fixtures/solidity_ast/contracts/breadth_08.sol create mode 100644 tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json create mode 100644 tests/fixtures/solidity_ast/generate_fixtures.py create mode 100644 tests/fixtures/solidity_ast/solc_0_6_12.asts.json create mode 100644 tests/fixtures/solidity_ast/solc_0_7_6.asts.json create mode 100644 tests/fixtures/solidity_ast/solc_0_8_30.asts.json create mode 100644 tests/fixtures/solidity_ast/vyper_mixed.asts.json create mode 100644 tests/solidity_ast/__init__.py create mode 100644 tests/solidity_ast/test_schema_conformance.py diff --git a/certora_autosetup/solidity_ast/__init__.py b/certora_autosetup/solidity_ast/__init__.py new file mode 100644 index 0000000..5ab0c77 --- /dev/null +++ b/certora_autosetup/solidity_ast/__init__.py @@ -0,0 +1,173 @@ +"""Typed pydantic models of the Solidity compact AST as dumped by +``certoraRun --dump_asts`` (see ``base.py`` for the modeling conventions and +``loader.py`` for the dump structure and degradation policy). + +Typical use:: + + from certora_autosetup.solidity_ast import AstDump, ContractDefinition, find_all + + dump = AstDump.load(".certora_internal/all_asts.json") + for _, _, source_unit in dump.iter_parsed_roots(): + for contract in find_all(source_unit, ContractDefinition): + ... +""" + +__all__ = [ + # base + "AstNode", "SolcNode", "YulNode", "UnknownNode", "SrcLocation", "parse_src", + "TypeDescriptions", "Visibility", "StateMutability", "Mutability", "StorageLocation", + # loader + "AstDump", "FileAsts", "SourceAst", + # traversal + "iter_children", "walk", "find_all", "build_node_index", "build_parent_map", + "build_parent_graph_json", + # unions + "unions", "MODEL_BY_SCHEMA_DEF", "Node", "Expression", "Statement", "TypeName", + "SourceUnitNode", "ContractBodyNode", + # types + "ArrayTypeName", "ElementaryTypeName", "FunctionTypeName", "IdentifierPath", + "Mapping", "UserDefinedTypeName", + # expressions + "Assignment", "BinaryOperation", "Conditional", "ElementaryTypeNameExpression", + "FunctionCall", "FunctionCallOptions", "Identifier", "IndexAccess", "IndexRangeAccess", + "Literal", "MemberAccess", "NewExpression", "TupleExpression", "UnaryOperation", + # statements + "Block", "Break", "Continue", "DoWhileStatement", "EmitStatement", "ExpressionStatement", + "ForStatement", "IfStatement", "InlineAssembly", "PlaceholderStatement", "Return", + "RevertStatement", "TryCatchClause", "TryStatement", "UncheckedBlock", + "VariableDeclarationStatement", "WhileStatement", + # declarations + "ContractDefinition", "EnumDefinition", "EnumValue", "ErrorDefinition", "EventDefinition", + "FunctionDefinition", "ImportDirective", "InheritanceSpecifier", "ModifierDefinition", + "ModifierInvocation", "OverrideSpecifier", "ParameterList", "PragmaDirective", "SourceUnit", + "StorageLayoutSpecifier", "StructDefinition", "StructuredDocumentation", + "UserDefinedValueTypeDefinition", "UsingForDirective", "VariableDeclaration", + # yul + "YulAssignment", "YulBlock", "YulBreak", "YulCase", "YulContinue", "YulExpression", + "YulExpressionStatement", "YulForLoop", "YulFunctionCall", "YulFunctionDefinition", + "YulIdentifier", "YulIf", "YulLeave", "YulLiteral", "YulLiteralHexValue", + "YulLiteralValue", "YulStatement", "YulSwitch", "YulTypedName", "YulVariableDeclaration", +] + +# Importing .unions resolves all cross-module forward references and rebuilds the +# models; loader imports it, and the explicit re-import keeps the ordering obvious. +from . import unions as unions +from . import yul as yul +from .base import ( + AstNode, + Mutability, + SolcNode, + SrcLocation, + StateMutability, + StorageLocation, + TypeDescriptions, + UnknownNode, + Visibility, + YulNode, + parse_src, +) +from .declarations import ( + ContractDefinition, + EnumDefinition, + EnumValue, + ErrorDefinition, + EventDefinition, + FunctionDefinition, + ImportDirective, + InheritanceSpecifier, + ModifierDefinition, + ModifierInvocation, + OverrideSpecifier, + ParameterList, + PragmaDirective, + SourceUnit, + StorageLayoutSpecifier, + StructDefinition, + StructuredDocumentation, + UserDefinedValueTypeDefinition, + UsingForDirective, + VariableDeclaration, +) +from .expressions import ( + Assignment, + BinaryOperation, + Conditional, + ElementaryTypeNameExpression, + FunctionCall, + FunctionCallOptions, + Identifier, + IndexAccess, + IndexRangeAccess, + Literal, + MemberAccess, + NewExpression, + TupleExpression, + UnaryOperation, +) +from .loader import AstDump, FileAsts, SourceAst +from .statements import ( + Block, + Break, + Continue, + DoWhileStatement, + EmitStatement, + ExpressionStatement, + ForStatement, + IfStatement, + InlineAssembly, + PlaceholderStatement, + Return, + RevertStatement, + TryCatchClause, + TryStatement, + UncheckedBlock, + VariableDeclarationStatement, + WhileStatement, +) +from .traversal import ( + build_node_index, + build_parent_graph_json, + build_parent_map, + find_all, + iter_children, + walk, +) +from .types import ( + ArrayTypeName, + ElementaryTypeName, + FunctionTypeName, + IdentifierPath, + Mapping, + UserDefinedTypeName, +) +from .unions import ( + MODEL_BY_SCHEMA_DEF, + ContractBodyNode, + Expression, + Node, + SourceUnitNode, + Statement, + TypeName, +) +from .yul import ( + YulAssignment, + YulBlock, + YulBreak, + YulCase, + YulContinue, + YulExpression, + YulExpressionStatement, + YulForLoop, + YulFunctionCall, + YulFunctionDefinition, + YulIdentifier, + YulIf, + YulLeave, + YulLiteral, + YulLiteralHexValue, + YulLiteralValue, + YulStatement, + YulSwitch, + YulTypedName, + YulVariableDeclaration, +) diff --git a/certora_autosetup/solidity_ast/base.py b/certora_autosetup/solidity_ast/base.py index 9f66591..9cb33a9 100644 --- a/certora_autosetup/solidity_ast/base.py +++ b/certora_autosetup/solidity_ast/base.py @@ -27,7 +27,7 @@ from __future__ import annotations -from typing import Literal, NamedTuple +from typing import Callable, Literal, NamedTuple from pydantic import BaseModel, ConfigDict @@ -91,6 +91,42 @@ class YulNode(AstNode): nativeSrc: str | None = None +class UnknownNode(AstNode): + """Fallback member of every node union: a node whose ``nodeType`` this model set + does not know (newer solc than the vendored schema, or an exotic construct). + + All its fields land in ``model_extra`` and its children stay raw dicts; typed + queries skip it, so an unknown node degrades gracefully instead of failing the + whole source file. + """ + + nodeType: str + id: int | None = None + # Lenient: synthesized nodes may lack src; "" fails any src-offset use downstream + # the same way a missing node would. + src: str = "" + + +UNKNOWN_TAG = "__unknown__" + + +def tag_by_node_type(known: frozenset[str]) -> Callable[[object], str]: + """Discriminator function for a node union: returns the ``nodeType`` tag when it is + one of ``known``, else ``UNKNOWN_TAG`` (routing to the union's UnknownNode member). + Handles both dicts (validation) and model instances (serialization). + """ + + def tag(value: object) -> str: + node_type = ( + value.get("nodeType") + if isinstance(value, dict) + else getattr(value, "nodeType", None) + ) + return node_type if isinstance(node_type, str) and node_type in known else UNKNOWN_TAG + + return tag + + class TypeDescriptions(BaseModel): """The ``typeDescriptions`` object attached to expressions and type names.""" diff --git a/certora_autosetup/solidity_ast/declarations.py b/certora_autosetup/solidity_ast/declarations.py new file mode 100644 index 0000000..a6c0ada --- /dev/null +++ b/certora_autosetup/solidity_ast/declarations.py @@ -0,0 +1,298 @@ +"""Declaration nodes of the Solidity compact AST (source-unit and contract-body level). + +Also defines ``SourceUnit`` itself, transcribed from the schema root (it is the +schema's top-level object, not a member of ``definitions``). +""" + +from __future__ import annotations + +from typing import TYPE_CHECKING, Literal + +from pydantic import BaseModel, ConfigDict, Field, field_validator + +from .base import ( + Mutability, + SolcNode, + StateMutability, + StorageLocation, + TypeDescriptions, + Visibility, +) + +if TYPE_CHECKING: + from .expressions import Identifier + from .statements import Block + from .types import IdentifierPath, UserDefinedTypeName + from .unions import ContractBodyNode, Expression, SourceUnitNode, TypeName + + +class StructuredDocumentation(SolcNode): + """A NatSpec documentation node.""" + + text: str + nodeType: Literal["StructuredDocumentation"] + + +class OverrideSpecifier(SolcNode): + """An ``override(...)`` specifier on a function, modifier, or state variable.""" + + overrides: "list[UserDefinedTypeName] | list[IdentifierPath]" + nodeType: Literal["OverrideSpecifier"] + + +class VariableDeclaration(SolcNode): + """A variable declaration: state variable, parameter, struct member, or local.""" + + name: str + nameLocation: str | None = None + baseFunctions: list[int] | None = None + constant: bool + documentation: StructuredDocumentation | None = None + functionSelector: str | None = None + indexed: bool | None = None + mutability: Mutability + overrides: OverrideSpecifier | None = None + scope: int + stateVariable: bool + storageLocation: StorageLocation + typeDescriptions: TypeDescriptions + typeName: "TypeName | None" = None + value: "Expression | None" = None + visibility: Visibility + nodeType: Literal["VariableDeclaration"] + + +class ParameterList(SolcNode): + """The parenthesized list of parameters or return values.""" + + parameters: list[VariableDeclaration] + nodeType: Literal["ParameterList"] + + +class EnumValue(SolcNode): + """A single member of an enum definition.""" + + name: str + nameLocation: str | None = None + documentation: StructuredDocumentation | None = None + nodeType: Literal["EnumValue"] + + +class EnumDefinition(SolcNode): + """An ``enum`` definition.""" + + name: str + nameLocation: str | None = None + canonicalName: str + members: list[EnumValue] + documentation: StructuredDocumentation | None = None + nodeType: Literal["EnumDefinition"] + + +class ErrorDefinition(SolcNode): + """A custom ``error`` definition (solc >= 0.8.4).""" + + name: str + nameLocation: str + documentation: StructuredDocumentation | None = None + errorSelector: str | None = None + parameters: ParameterList + nodeType: Literal["ErrorDefinition"] + + +class EventDefinition(SolcNode): + """An ``event`` definition.""" + + name: str + nameLocation: str | None = None + anonymous: bool + eventSelector: str | None = None + documentation: StructuredDocumentation | None = None + parameters: ParameterList + nodeType: Literal["EventDefinition"] + + +class ModifierInvocation(SolcNode): + """A modifier (or base-constructor) invocation on a function definition.""" + + arguments: "list[Expression] | None" = None + kind: Literal["modifierInvocation", "baseConstructorSpecifier"] | None = None + modifierName: "Identifier | IdentifierPath" + nodeType: Literal["ModifierInvocation"] + + +class ModifierDefinition(SolcNode): + """A ``modifier`` definition.""" + + name: str + nameLocation: str | None = None + baseModifiers: list[int] | None = None + body: "Block | None" = None + documentation: StructuredDocumentation | None = None + overrides: OverrideSpecifier | None = None + parameters: ParameterList + virtual: bool + visibility: Visibility + nodeType: Literal["ModifierDefinition"] + + +class FunctionDefinition(SolcNode): + """A function, constructor, receive/fallback, or free-function definition.""" + + name: str + nameLocation: str | None = None + baseFunctions: list[int] | None = None + body: "Block | None" = None + documentation: StructuredDocumentation | None = None + functionSelector: str | None = None + implemented: bool + kind: Literal["function", "receive", "constructor", "fallback", "freeFunction"] + modifiers: list[ModifierInvocation] + overrides: OverrideSpecifier | None = None + parameters: ParameterList + returnParameters: ParameterList + scope: int + stateMutability: StateMutability + virtual: bool + visibility: Visibility + nodeType: Literal["FunctionDefinition"] + + +class SymbolAlias(BaseModel): + """One ``{symbol as local}`` entry of an ImportDirective's symbolAliases.""" + + model_config = ConfigDict(extra="allow") + + foreign: "Identifier" + local: str | None = None + nameLocation: str | None = None + + +class ImportDirective(SolcNode): + """An ``import`` directive.""" + + absolutePath: str + file: str + nameLocation: str | None = None + scope: int + sourceUnit: int + symbolAliases: list[SymbolAlias] + unitAlias: str + nodeType: Literal["ImportDirective"] + + +class InheritanceSpecifier(SolcNode): + """A base contract in a contract's inheritance list.""" + + arguments: "list[Expression] | None" = None + baseName: "UserDefinedTypeName | IdentifierPath" + nodeType: Literal["InheritanceSpecifier"] + + +class PragmaDirective(SolcNode): + """A ``pragma`` directive; ``literals`` holds its tokenized pieces.""" + + literals: list[str] + nodeType: Literal["PragmaDirective"] + + +class StorageLayoutSpecifier(SolcNode): + """A ``layout at `` storage-layout specifier (solc >= 0.8.29).""" + + baseSlotExpression: "Expression" + nodeType: Literal["StorageLayoutSpecifier"] + + +class StructDefinition(SolcNode): + """A ``struct`` definition.""" + + name: str + nameLocation: str | None = None + canonicalName: str + members: list[VariableDeclaration] + scope: int + visibility: Visibility + documentation: StructuredDocumentation | None = None + nodeType: Literal["StructDefinition"] + + +class UserDefinedValueTypeDefinition(SolcNode): + """A ``type X is `` definition (solc >= 0.8.8).""" + + name: str + nameLocation: str | None = None + canonicalName: str | None = None + underlyingType: "TypeName" + nodeType: Literal["UserDefinedValueTypeDefinition"] + + +class UsingForFunction(BaseModel): + """A plain ``{function: }`` entry of a UsingForDirective's functionList.""" + + model_config = ConfigDict(extra="allow") + + function: "IdentifierPath" + + +class UsingForOperator(BaseModel): + """An ``{operator as }`` entry of a UsingForDirective's functionList.""" + + model_config = ConfigDict(extra="allow") + + operator: Literal[ + "&", "|", "^", "~", "+", "-", "*", "/", "%", "==", "!=", "<", "<=", ">", ">=" + ] + definition: "IdentifierPath" + + +class UsingForDirective(SolcNode): + """A ``using ... for ...`` directive.""" + + functionList: list[UsingForFunction | UsingForOperator] | None = None + global_: bool | None = Field(default=None, alias="global") + libraryName: "UserDefinedTypeName | IdentifierPath | None" = None + typeName: "TypeName | None" = None + nodeType: Literal["UsingForDirective"] + + +class ContractDefinition(SolcNode): + """A contract, interface, or library definition.""" + + name: str + nameLocation: str | None = None + abstract: bool + baseContracts: list[InheritanceSpecifier] + canonicalName: str | None = None + contractDependencies: list[int] + contractKind: Literal["contract", "interface", "library"] + documentation: StructuredDocumentation | None = None + fullyImplemented: bool + linearizedBaseContracts: list[int] + nodes: list["ContractBodyNode"] + scope: int + usedErrors: list[int] | None = None + usedEvents: list[int] | None = None + internalFunctionIDs: dict[str, int] | None = None + storageLayout: StorageLayoutSpecifier | None = None + nodeType: Literal["ContractDefinition"] + + @field_validator("internalFunctionIDs", mode="before") + @classmethod + def _drop_injected_contract_name(cls, value: object) -> object: + # certoraRun's certora_contract_name stamping walks every dict under a + # ContractDefinition, including this plain function-id map; drop the injected + # string entry so the values stay int-typed. + if isinstance(value, dict): + return {k: v for k, v in value.items() if k != "certora_contract_name"} + return value + + +class SourceUnit(SolcNode): + """The root node of one source file's AST (the schema's top-level object).""" + + absolutePath: str + exportedSymbols: dict[str, list[int]] + experimentalSolidity: bool | None = None + license: str | None = None + nodes: list["SourceUnitNode"] + nodeType: Literal["SourceUnit"] diff --git a/certora_autosetup/solidity_ast/expressions.py b/certora_autosetup/solidity_ast/expressions.py new file mode 100644 index 0000000..8fe1b6d --- /dev/null +++ b/certora_autosetup/solidity_ast/expressions.py @@ -0,0 +1,220 @@ +"""Expression nodes of the Solidity compact AST (members of the Expression union).""" + +from __future__ import annotations + +# The AST node class `Literal` below shadows typing.Literal, so this module uses +# `typing.Literal[...]` for all tag/enum annotations instead of importing the name. +import typing + +from .base import SolcNode, TypeDescriptions + +if typing.TYPE_CHECKING: + from .types import ElementaryTypeName + from .unions import Expression, TypeName + + +class Assignment(SolcNode): + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + leftHandSide: "Expression" + operator: typing.Literal[ + "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=" + ] + rightHandSide: "Expression" + nodeType: typing.Literal["Assignment"] + + +class BinaryOperation(SolcNode): + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + commonType: TypeDescriptions + leftExpression: "Expression" + operator: typing.Literal[ + "+", "-", "*", "/", "%", "**", "&&", "||", "!=", "==", + "<", "<=", ">", ">=", "^", "&", "|", "<<", ">>", + ] + rightExpression: "Expression" + function: int | None = None + nodeType: typing.Literal["BinaryOperation"] + + +class Conditional(SolcNode): + """A ternary ``condition ? trueExpression : falseExpression``.""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + condition: "Expression" + falseExpression: "Expression" + trueExpression: "Expression" + nodeType: typing.Literal["Conditional"] + + +class ElementaryTypeNameExpression(SolcNode): + """An elementary type used as an expression, e.g. the callee in ``uint256(x)``.""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + typeName: "ElementaryTypeName" + nodeType: typing.Literal["ElementaryTypeNameExpression"] + + +class FunctionCall(SolcNode): + """A call, type conversion, or struct constructor call (see ``kind``).""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + arguments: list["Expression"] + expression: "Expression" + kind: typing.Literal["functionCall", "typeConversion", "structConstructorCall"] + names: list[str] + nameLocations: list[str] | None = None + tryCall: bool + nodeType: typing.Literal["FunctionCall"] + + +class FunctionCallOptions(SolcNode): + """Call options attached to a callee, e.g. ``f{value: 1, gas: 2}``.""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool | None = None + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + expression: "Expression" + names: list[str] + options: list["Expression"] + nodeType: typing.Literal["FunctionCallOptions"] + + +class Identifier(SolcNode): + argumentTypes: list[TypeDescriptions] | None = None + name: str + overloadedDeclarations: list[int] + referencedDeclaration: int | None = None + typeDescriptions: TypeDescriptions + nodeType: typing.Literal["Identifier"] + + +class IndexAccess(SolcNode): + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + baseExpression: "Expression" + indexExpression: "Expression | None" = None + nodeType: typing.Literal["IndexAccess"] + + +class IndexRangeAccess(SolcNode): + """An array slice, e.g. ``arr[1:3]`` (calldata arrays only).""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + baseExpression: "Expression" + endExpression: "Expression | None" = None + startExpression: "Expression | None" = None + nodeType: typing.Literal["IndexRangeAccess"] + + +class Literal(SolcNode): + """A literal value (number, string, bool, ...); shadows ``typing.Literal`` here.""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + hexValue: str + kind: typing.Literal["bool", "number", "string", "hexString", "unicodeString"] + subdenomination: ( + typing.Literal[ + "seconds", "minutes", "hours", "days", "weeks", + "wei", "gwei", "ether", "finney", "szabo", + ] + | None + ) = None + value: str | None = None + nodeType: typing.Literal["Literal"] + + +class MemberAccess(SolcNode): + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + expression: "Expression" + memberName: str + memberLocation: str | None = None + referencedDeclaration: int | None = None + nodeType: typing.Literal["MemberAccess"] + + +class NewExpression(SolcNode): + """A ``new T`` expression (contract creation or dynamic-array allocation).""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool | None = None + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + typeName: "TypeName" + nodeType: typing.Literal["NewExpression"] + + +class TupleExpression(SolcNode): + """A tuple or inline array; ``components`` has None holes for omitted entries.""" + + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + components: list["Expression | None"] + isInlineArray: bool + nodeType: typing.Literal["TupleExpression"] + + +class UnaryOperation(SolcNode): + argumentTypes: list[TypeDescriptions] | None = None + isConstant: bool + isLValue: bool + isPure: bool + lValueRequested: bool + typeDescriptions: TypeDescriptions + operator: typing.Literal["++", "--", "-", "!", "delete", "~"] + prefix: bool + subExpression: "Expression" + function: int | None = None + nodeType: typing.Literal["UnaryOperation"] diff --git a/certora_autosetup/solidity_ast/loader.py b/certora_autosetup/solidity_ast/loader.py new file mode 100644 index 0000000..415aa13 --- /dev/null +++ b/certora_autosetup/solidity_ast/loader.py @@ -0,0 +1,143 @@ +"""Typed loader for the ``.asts.json`` dump written by ``certoraRun --dump_asts``. + +The dump is a three-level dict ``{original_file: {source_file: {node_id_str: node}}}``: +the outer key is the contract file the compiler was invoked on, the middle key is every +source in that compilation unit, and the inner map is a flat id-index whose values are +the same nodes that also appear nested inside their parents. The loader therefore +validates each source's SourceUnit tree exactly once and derives the id-index by +traversal, keeping the raw flat map alongside for fallback and byte-compatible uses. + +Degradation policy (a project that compiles must never fail because of this loader): +an unrecognized ``nodeType`` becomes an ``UnknownNode`` inside an otherwise-typed tree; +a source whose shape the models reject entirely is kept raw as ``parse_failed``; +Vyper sources (``ast_type``/``node_id`` dialect) are kept raw as ``vyper``. +""" + +from __future__ import annotations + +import json +import logging +from dataclasses import dataclass, field +from pathlib import Path +from typing import Any, Iterator, Literal + +from pydantic import ValidationError + +from . import unions as unions # import resolves forward refs and rebuilds the models +from .base import AstNode +from .declarations import SourceUnit +from .traversal import build_node_index + +logger = logging.getLogger(__name__) + +RawKind = Literal["solidity", "vyper", "parse_failed"] +OnError = Literal["raw", "raise"] + + +@dataclass +class SourceAst: + """One source file's AST within a compilation unit.""" + + source_path: str + root: SourceUnit | None + nodes: dict[int, AstNode] = field(default_factory=dict) + raw: dict[str, Any] = field(default_factory=dict) + raw_kind: RawKind = "solidity" + parse_error: str | None = None + + @property + def is_parsed(self) -> bool: + return self.root is not None + + +@dataclass +class FileAsts: + """All source ASTs of one compilation unit (one outer key of the dump).""" + + original_file: str + sources: dict[str, SourceAst] + + +@dataclass +class AstDump: + """The full, typed view of a ``.asts.json`` dump.""" + + files: dict[str, FileAsts] + + @classmethod + def load(cls, path: Path | str, *, on_error: OnError = "raw") -> "AstDump": + with open(path, "r", encoding="utf-8") as f: + return cls.from_dict(json.load(f), on_error=on_error) + + @classmethod + def from_dict(cls, data: dict[str, Any], *, on_error: OnError = "raw") -> "AstDump": + files = { + original_file: FileAsts( + original_file=original_file, + sources={ + source_path: _load_source(source_path, flat, on_error) + for source_path, flat in per_source.items() + }, + ) + for original_file, per_source in data.items() + } + return cls(files=files) + + def iter_sources(self) -> Iterator[tuple[str, SourceAst]]: + """(original_file, SourceAst) over every source, including vyper/failed ones.""" + for file_asts in self.files.values(): + for source in file_asts.sources.values(): + yield file_asts.original_file, source + + def iter_parsed_roots(self) -> Iterator[tuple[str, str, SourceUnit]]: + """(original_file, source_path, SourceUnit) over successfully parsed sources.""" + for original_file, source in self.iter_sources(): + if source.root is not None: + yield original_file, source.source_path, source.root + + def find_node(self, source_path: str, node_id: int) -> AstNode | None: + for file_asts in self.files.values(): + source = file_asts.sources.get(source_path) + if source is not None and node_id in source.nodes: + return source.nodes[node_id] + return None + + +def _load_source(source_path: str, flat: dict[str, Any], on_error: OnError) -> SourceAst: + node_dicts = [n for n in flat.values() if isinstance(n, dict)] + + if any("nodeType" not in n and ("ast_type" in n or "node_id" in n) for n in node_dicts): + return SourceAst(source_path=source_path, root=None, raw=flat, raw_kind="vyper") + + roots = [n for n in node_dicts if n.get("nodeType") == "SourceUnit"] + if len(roots) != 1: + return _failed( + source_path, flat, f"expected exactly one SourceUnit node, found {len(roots)}", on_error + ) + + try: + root = SourceUnit.model_validate(roots[0]) + except ValidationError as e: + if on_error == "raise": + raise + return _failed( + source_path, flat, f"{e.error_count()} validation error(s): {e.errors()[0]}", on_error + ) + + nodes = build_node_index(root) + missing = [i for i in flat if i.isdigit() and int(i) not in nodes] + if missing: + logger.debug( + "%s: %d raw index ids not reached by typed traversal (first: %s)", + source_path, len(missing), missing[0], + ) + return SourceAst(source_path=source_path, root=root, nodes=nodes, raw=flat) + + +def _failed(source_path: str, flat: dict[str, Any], msg: str, on_error: OnError) -> SourceAst: + if on_error == "raise": + raise ValueError(f"failed to parse AST of {source_path}: {msg}") + logger.warning("falling back to raw AST for %s: %s", source_path, msg) + return SourceAst( + source_path=source_path, root=None, raw=flat, raw_kind="parse_failed", parse_error=msg + ) diff --git a/certora_autosetup/solidity_ast/statements.py b/certora_autosetup/solidity_ast/statements.py new file mode 100644 index 0000000..0561426 --- /dev/null +++ b/certora_autosetup/solidity_ast/statements.py @@ -0,0 +1,171 @@ +"""Statement nodes of the Solidity compact AST (members of the Statement union).""" + +from __future__ import annotations + +from typing import TYPE_CHECKING, Literal + +from pydantic import BaseModel, ConfigDict + +from .base import SolcNode + +if TYPE_CHECKING: + from .declarations import ParameterList, VariableDeclaration + from .expressions import FunctionCall + from .unions import Expression, Statement + from .yul import YulBlock + + +class Block(SolcNode): + """A curly-braced statement block.""" + + documentation: str | None = None + statements: "list[Statement] | None" = None + nodeType: Literal["Block"] + + +class Break(SolcNode): + documentation: str | None = None + nodeType: Literal["Break"] + + +class Continue(SolcNode): + documentation: str | None = None + nodeType: Literal["Continue"] + + +class DoWhileStatement(SolcNode): + documentation: str | None = None + body: "Block | Statement" + condition: "Expression" + nodeType: Literal["DoWhileStatement"] + + +class EmitStatement(SolcNode): + documentation: str | None = None + eventCall: "FunctionCall" + nodeType: Literal["EmitStatement"] + + +class ExpressionStatement(SolcNode): + documentation: str | None = None + expression: "Expression" + nodeType: Literal["ExpressionStatement"] + + +class ForStatement(SolcNode): + documentation: str | None = None + body: "Block | Statement" + condition: "Expression | None" = None + initializationExpression: "ExpressionStatement | VariableDeclarationStatement | None" = None + loopExpression: ExpressionStatement | None = None + isSimpleCounterLoop: bool | None = None + nodeType: Literal["ForStatement"] + + +class IfStatement(SolcNode): + documentation: str | None = None + condition: "Expression" + falseBody: "Statement | Block | None" = None + trueBody: "Statement | Block" + nodeType: Literal["IfStatement"] + + +class ExternalReference(BaseModel): + """An entry of ``InlineAssembly.externalReferences``: a Yul identifier that refers + to a Solidity declaration.""" + + model_config = ConfigDict(extra="allow") + + declaration: int + isOffset: bool + isSlot: bool + src: str + valueSize: int + suffix: Literal["slot", "offset", "length"] | None = None + + +class InlineAssembly(SolcNode): + """An ``assembly { ... }`` block; its Yul body lives under the ``AST`` field.""" + + documentation: str | None = None + AST: "YulBlock" + evmVersion: Literal[ + "homestead", + "tangerineWhistle", + "spuriousDragon", + "byzantium", + "constantinople", + "petersburg", + "istanbul", + "berlin", + "london", + "paris", + "shanghai", + "cancun", + "prague", + "osaka", + ] + externalReferences: list[ExternalReference] + flags: list[Literal["memory-safe"]] | None = None + nodeType: Literal["InlineAssembly"] + + +class PlaceholderStatement(SolcNode): + """The ``_;`` placeholder inside a modifier body.""" + + documentation: str | None = None + nodeType: Literal["PlaceholderStatement"] + + +class Return(SolcNode): + documentation: str | None = None + expression: "Expression | None" = None + functionReturnParameters: int + nodeType: Literal["Return"] + + +class RevertStatement(SolcNode): + """A ``revert SomeError(...)`` statement (solc >= 0.8.4).""" + + documentation: str | None = None + errorCall: "FunctionCall" + nodeType: Literal["RevertStatement"] + + +class TryStatement(SolcNode): + documentation: str | None = None + clauses: "list[TryCatchClause]" + externalCall: "FunctionCall" + nodeType: Literal["TryStatement"] + + +class TryCatchClause(SolcNode): + """A ``try``-success or ``catch`` clause of a TryStatement.""" + + block: Block + errorName: str + parameters: "ParameterList | None" = None + nodeType: Literal["TryCatchClause"] + + +class UncheckedBlock(SolcNode): + """An ``unchecked { ... }`` block (solc >= 0.8.0).""" + + documentation: str | None = None + statements: "list[Statement]" + nodeType: Literal["UncheckedBlock"] + + +class VariableDeclarationStatement(SolcNode): + documentation: str | None = None + assignments: list[int | None] + declarations: "list[VariableDeclaration | None]" + initialValue: "Expression | None" = None + nodeType: Literal["VariableDeclarationStatement"] + + +class WhileStatement(SolcNode): + documentation: str | None = None + body: "Block | Statement" + condition: "Expression" + nodeType: Literal["WhileStatement"] diff --git a/certora_autosetup/solidity_ast/traversal.py b/certora_autosetup/solidity_ast/traversal.py new file mode 100644 index 0000000..df562b4 --- /dev/null +++ b/certora_autosetup/solidity_ast/traversal.py @@ -0,0 +1,111 @@ +"""Traversal utilities over typed AST nodes, plus the legacy raw parent-graph builder.""" + +from __future__ import annotations + +from typing import Any, Iterator, TypeVar + +from pydantic import BaseModel + +from .base import AstNode, SolcNode + +N = TypeVar("N", bound=AstNode) + + +def iter_children(node: AstNode) -> Iterator[AstNode]: + """Direct AST children of a node, in model-field declaration order. + + Helper models that are not themselves AST nodes (e.g. import symbol aliases, + ``using``-directive function lists) are transparent containers: AST nodes found + inside them are yielded as direct children of ``node``. Extra fields captured by + ``model_extra`` (unknown to the model set) are not descended into. + """ + for name in type(node).model_fields: + yield from _child_nodes(getattr(node, name)) + + +def _child_nodes(value: Any) -> Iterator[AstNode]: + if isinstance(value, AstNode): + yield value + elif isinstance(value, BaseModel): + for name in type(value).model_fields: + yield from _child_nodes(getattr(value, name)) + elif isinstance(value, list): + for item in value: + yield from _child_nodes(item) + + +def walk(node: AstNode) -> Iterator[AstNode]: + """Pre-order DFS over ``node`` and all its descendants (iterative — deep + expression chains cannot hit the interpreter recursion limit).""" + stack = [node] + while stack: + current = stack.pop() + yield current + stack.extend(reversed(list(iter_children(current)))) + + +def find_all(root: AstNode, node_type: type[N] | tuple[type[N], ...]) -> Iterator[N]: + """All nodes of the given type(s) in the subtree rooted at ``root`` (inclusive), + in document order. The typed replacement for ``nodeType == "X"`` scans.""" + for node in walk(root): + if isinstance(node, node_type): + yield node + + +def build_node_index(root: AstNode) -> dict[int, AstNode]: + """Map every id-carrying node in the subtree to its instance (Yul nodes carry + no id and are not indexed).""" + return {node.id: node for node in walk(root) if isinstance(node, SolcNode)} + + +def build_parent_map(root: AstNode) -> dict[int, int]: + """Map child node id -> parent node id over the subtree, for id-carrying nodes. + + Nodes nested inside transparent helper containers are attached to the nearest + id-carrying AST ancestor. + """ + parent_map: dict[int, int] = {} + stack: list[tuple[AstNode, int | None]] = [(root, None)] + while stack: + node, parent_id = stack.pop() + node_id = node.id if isinstance(node, SolcNode) else None + if node_id is not None and parent_id is not None: + parent_map[node_id] = parent_id + enclosing = node_id if node_id is not None else parent_id + stack.extend((child, enclosing) for child in iter_children(node)) + return parent_map + + +def build_parent_graph_json(raw_asts: dict[str, Any]) -> dict[str, dict[str, dict[str, str]]]: + """Parent graph over a RAW ``.asts.json``-shaped dict, in the exact legacy format + written to ``all_ast_parent_graph.json``: {rel_path: {abs_path: {child_id: parent_id}}} + with string ids. + + Deliberately operates on the raw dict with the historical child heuristic (a child + is any direct dict value, or list element, carrying an ``id`` key) and preserves + raw key order, so ``json.dump(..., indent=2)`` output stays byte-identical to what + existing readers of the file expect. Use :func:`build_parent_map` for typed code. + """ + parent_graph: dict[str, dict[str, dict[str, str]]] = {} + for relative_path, path_data in raw_asts.items(): + parent_graph[relative_path] = {} + for absolute_path, nodes in path_data.items(): + parent_graph[relative_path][absolute_path] = {} + for node_id, node in nodes.items(): + if not isinstance(node, dict): + continue + for child_id in _legacy_child_ids(node): + parent_graph[relative_path][absolute_path][str(child_id)] = str(node_id) + return parent_graph + + +def _legacy_child_ids(node: dict[str, Any]) -> list[Any]: + child_ids = [] + for value in node.values(): + if isinstance(value, dict) and "id" in value: + child_ids.append(value["id"]) + elif isinstance(value, list): + for item in value: + if isinstance(item, dict) and "id" in item: + child_ids.append(item["id"]) + return child_ids diff --git a/certora_autosetup/solidity_ast/types.py b/certora_autosetup/solidity_ast/types.py new file mode 100644 index 0000000..bcf1003 --- /dev/null +++ b/certora_autosetup/solidity_ast/types.py @@ -0,0 +1,73 @@ +"""Type-name nodes of the Solidity compact AST (members of the TypeName union).""" + +from __future__ import annotations + +from typing import TYPE_CHECKING, Literal + +from .base import SolcNode, StateMutability, TypeDescriptions, Visibility + +if TYPE_CHECKING: + from .declarations import ParameterList + from .unions import Expression, TypeName + + +class ArrayTypeName(SolcNode): + """A static or dynamic array type, e.g. ``uint256[]`` or ``bytes32[4]``.""" + + typeDescriptions: TypeDescriptions + baseType: "TypeName" + length: "Expression | None" = None + nodeType: Literal["ArrayTypeName"] + + +class ElementaryTypeName(SolcNode): + """A built-in type name, e.g. ``uint256``, ``address``, ``bytes``.""" + + typeDescriptions: TypeDescriptions + name: str + stateMutability: StateMutability | None = None + nodeType: Literal["ElementaryTypeName"] + + +class FunctionTypeName(SolcNode): + """A function type, e.g. ``function (uint) external returns (bool)``.""" + + typeDescriptions: TypeDescriptions + parameterTypes: "ParameterList" + returnParameterTypes: "ParameterList" + stateMutability: StateMutability + visibility: Visibility + nodeType: Literal["FunctionTypeName"] + + +class Mapping(SolcNode): + """A mapping type, e.g. ``mapping(address owner => uint256 balance)``.""" + + typeDescriptions: TypeDescriptions + keyType: "TypeName" + valueType: "TypeName" + keyName: str | None = None + keyNameLocation: str | None = None + valueName: str | None = None + valueNameLocation: str | None = None + nodeType: Literal["Mapping"] + + +class IdentifierPath(SolcNode): + """A (possibly dotted) path referring to a declaration, e.g. ``Lib.Struct``.""" + + name: str + nameLocations: list[str] | None = None + referencedDeclaration: int + nodeType: Literal["IdentifierPath"] + + +class UserDefinedTypeName(SolcNode): + """A reference to a user-defined type (struct, enum, contract, UDVT).""" + + typeDescriptions: TypeDescriptions + contractScope: None = None + name: str | None = None + pathNode: IdentifierPath | None = None + referencedDeclaration: int + nodeType: Literal["UserDefinedTypeName"] diff --git a/certora_autosetup/solidity_ast/unions.py b/certora_autosetup/solidity_ast/unions.py new file mode 100644 index 0000000..b8c0e2a --- /dev/null +++ b/certora_autosetup/solidity_ast/unions.py @@ -0,0 +1,403 @@ +"""Discriminated unions over the AST node models, the schema-name registry, and the +forward-reference rebuild wiring. + +Import this module (or the package) before validating any node model: importing it +resolves every cross-module forward reference and rebuilds all models. Each union +carries an UnknownNode fallback member selected for any unrecognized ``nodeType``, +so ASTs from solc versions newer than the vendored schema degrade per-node instead +of failing whole-file validation. +""" + +from __future__ import annotations + +from typing import Annotated, Union + +from pydantic import Discriminator, Tag + +from . import declarations, expressions, statements, types, yul +from .base import UNKNOWN_TAG, AstNode, UnknownNode, tag_by_node_type +from .yul import YulExpression, YulLiteral, YulStatement + + +from .types import ( + ArrayTypeName, + ElementaryTypeName, + FunctionTypeName, + IdentifierPath, + Mapping, + UserDefinedTypeName, +) +from .expressions import ( + Assignment, + BinaryOperation, + Conditional, + ElementaryTypeNameExpression, + FunctionCall, + FunctionCallOptions, + Identifier, + IndexAccess, + IndexRangeAccess, + Literal, + MemberAccess, + NewExpression, + TupleExpression, + UnaryOperation, +) +from .statements import ( + Block, + Break, + Continue, + DoWhileStatement, + EmitStatement, + ExpressionStatement, + ForStatement, + IfStatement, + InlineAssembly, + PlaceholderStatement, + Return, + RevertStatement, + TryCatchClause, + TryStatement, + UncheckedBlock, + VariableDeclarationStatement, + WhileStatement, +) +from .declarations import ( + ContractDefinition, + EnumDefinition, + EnumValue, + ErrorDefinition, + EventDefinition, + FunctionDefinition, + ImportDirective, + InheritanceSpecifier, + ModifierDefinition, + ModifierInvocation, + OverrideSpecifier, + ParameterList, + PragmaDirective, + SourceUnit, + StorageLayoutSpecifier, + StructDefinition, + StructuredDocumentation, + UserDefinedValueTypeDefinition, + UsingForDirective, + VariableDeclaration, +) +from .yul import ( + YulAssignment, + YulBlock, + YulBreak, + YulCase, + YulContinue, + YulExpressionStatement, + YulForLoop, + YulFunctionCall, + YulFunctionDefinition, + YulIdentifier, + YulIf, + YulLeave, + YulLiteralHexValue, + YulLiteralValue, + YulSwitch, + YulTypedName, + YulVariableDeclaration, +) + +_EXPRESSION_TAGS = frozenset({"Assignment", "BinaryOperation", "Conditional", "ElementaryTypeNameExpression", "FunctionCall", "FunctionCallOptions", "Identifier", "IndexAccess", "IndexRangeAccess", "Literal", "MemberAccess", "NewExpression", "TupleExpression", "UnaryOperation"}) + +Expression = Annotated[ + Union[ + Annotated[Assignment, Tag("Assignment")], + Annotated[BinaryOperation, Tag("BinaryOperation")], + Annotated[Conditional, Tag("Conditional")], + Annotated[ElementaryTypeNameExpression, Tag("ElementaryTypeNameExpression")], + Annotated[FunctionCall, Tag("FunctionCall")], + Annotated[FunctionCallOptions, Tag("FunctionCallOptions")], + Annotated[Identifier, Tag("Identifier")], + Annotated[IndexAccess, Tag("IndexAccess")], + Annotated[IndexRangeAccess, Tag("IndexRangeAccess")], + Annotated[Literal, Tag("Literal")], + Annotated[MemberAccess, Tag("MemberAccess")], + Annotated[NewExpression, Tag("NewExpression")], + Annotated[TupleExpression, Tag("TupleExpression")], + Annotated[UnaryOperation, Tag("UnaryOperation")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator(tag_by_node_type(_EXPRESSION_TAGS)), +] +"""Any Solidity expression node (or UnknownNode).""" + +_STATEMENT_TAGS = frozenset({"Block", "Break", "Continue", "DoWhileStatement", "EmitStatement", "ExpressionStatement", "ForStatement", "IfStatement", "InlineAssembly", "PlaceholderStatement", "Return", "RevertStatement", "TryStatement", "UncheckedBlock", "VariableDeclarationStatement", "WhileStatement"}) + +Statement = Annotated[ + Union[ + Annotated[Block, Tag("Block")], + Annotated[Break, Tag("Break")], + Annotated[Continue, Tag("Continue")], + Annotated[DoWhileStatement, Tag("DoWhileStatement")], + Annotated[EmitStatement, Tag("EmitStatement")], + Annotated[ExpressionStatement, Tag("ExpressionStatement")], + Annotated[ForStatement, Tag("ForStatement")], + Annotated[IfStatement, Tag("IfStatement")], + Annotated[InlineAssembly, Tag("InlineAssembly")], + Annotated[PlaceholderStatement, Tag("PlaceholderStatement")], + Annotated[Return, Tag("Return")], + Annotated[RevertStatement, Tag("RevertStatement")], + Annotated[TryStatement, Tag("TryStatement")], + Annotated[UncheckedBlock, Tag("UncheckedBlock")], + Annotated[VariableDeclarationStatement, Tag("VariableDeclarationStatement")], + Annotated[WhileStatement, Tag("WhileStatement")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator(tag_by_node_type(_STATEMENT_TAGS)), +] +"""Any Solidity statement node (or UnknownNode).""" + +_TYPENAME_TAGS = frozenset({"ArrayTypeName", "ElementaryTypeName", "FunctionTypeName", "Mapping", "UserDefinedTypeName"}) + +TypeName = Annotated[ + Union[ + Annotated[ArrayTypeName, Tag("ArrayTypeName")], + Annotated[ElementaryTypeName, Tag("ElementaryTypeName")], + Annotated[FunctionTypeName, Tag("FunctionTypeName")], + Annotated[Mapping, Tag("Mapping")], + Annotated[UserDefinedTypeName, Tag("UserDefinedTypeName")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator(tag_by_node_type(_TYPENAME_TAGS)), +] +"""Any type-name node (or UnknownNode).""" + +_SOURCEUNITNODE_TAGS = frozenset({"ContractDefinition", "EnumDefinition", "ErrorDefinition", "FunctionDefinition", "ImportDirective", "PragmaDirective", "StructDefinition", "UserDefinedValueTypeDefinition", "UsingForDirective", "VariableDeclaration"}) + +SourceUnitNode = Annotated[ + Union[ + Annotated[ContractDefinition, Tag("ContractDefinition")], + Annotated[EnumDefinition, Tag("EnumDefinition")], + Annotated[ErrorDefinition, Tag("ErrorDefinition")], + Annotated[FunctionDefinition, Tag("FunctionDefinition")], + Annotated[ImportDirective, Tag("ImportDirective")], + Annotated[PragmaDirective, Tag("PragmaDirective")], + Annotated[StructDefinition, Tag("StructDefinition")], + Annotated[UserDefinedValueTypeDefinition, Tag("UserDefinedValueTypeDefinition")], + Annotated[UsingForDirective, Tag("UsingForDirective")], + Annotated[VariableDeclaration, Tag("VariableDeclaration")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator(tag_by_node_type(_SOURCEUNITNODE_TAGS)), +] +"""Any node that may appear directly in SourceUnit.nodes (or UnknownNode).""" + +_CONTRACTBODYNODE_TAGS = frozenset({"EnumDefinition", "ErrorDefinition", "EventDefinition", "FunctionDefinition", "ModifierDefinition", "StructDefinition", "UserDefinedValueTypeDefinition", "UsingForDirective", "VariableDeclaration"}) + +ContractBodyNode = Annotated[ + Union[ + Annotated[EnumDefinition, Tag("EnumDefinition")], + Annotated[ErrorDefinition, Tag("ErrorDefinition")], + Annotated[EventDefinition, Tag("EventDefinition")], + Annotated[FunctionDefinition, Tag("FunctionDefinition")], + Annotated[ModifierDefinition, Tag("ModifierDefinition")], + Annotated[StructDefinition, Tag("StructDefinition")], + Annotated[UserDefinedValueTypeDefinition, Tag("UserDefinedValueTypeDefinition")], + Annotated[UsingForDirective, Tag("UsingForDirective")], + Annotated[VariableDeclaration, Tag("VariableDeclaration")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator(tag_by_node_type(_CONTRACTBODYNODE_TAGS)), +] +"""Any node that may appear directly in ContractDefinition.nodes (or UnknownNode).""" + +_NODE_TAGS = frozenset({"ArrayTypeName", "Assignment", "BinaryOperation", "Block", "Break", "Conditional", "Continue", "ContractDefinition", "DoWhileStatement", "ElementaryTypeName", "ElementaryTypeNameExpression", "EmitStatement", "EnumDefinition", "EnumValue", "ErrorDefinition", "EventDefinition", "ExpressionStatement", "ForStatement", "FunctionCall", "FunctionCallOptions", "FunctionDefinition", "FunctionTypeName", "Identifier", "IdentifierPath", "IfStatement", "ImportDirective", "IndexAccess", "IndexRangeAccess", "InheritanceSpecifier", "InlineAssembly", "Literal", "Mapping", "MemberAccess", "ModifierDefinition", "ModifierInvocation", "NewExpression", "OverrideSpecifier", "ParameterList", "PlaceholderStatement", "PragmaDirective", "Return", "RevertStatement", "SourceUnit", "StorageLayoutSpecifier", "StructDefinition", "StructuredDocumentation", "TryCatchClause", "TryStatement", "TupleExpression", "UnaryOperation", "UncheckedBlock", "UserDefinedTypeName", "UserDefinedValueTypeDefinition", "UsingForDirective", "VariableDeclaration", "VariableDeclarationStatement", "WhileStatement", "YulAssignment", "YulBlock", "YulBreak", "YulCase", "YulContinue", "YulExpressionStatement", "YulForLoop", "YulFunctionCall", "YulFunctionDefinition", "YulIdentifier", "YulIf", "YulLeave", "YulLiteral", "YulSwitch", "YulTypedName", "YulVariableDeclaration"}) + +Node = Annotated[ + Union[ + Annotated[ArrayTypeName, Tag("ArrayTypeName")], + Annotated[Assignment, Tag("Assignment")], + Annotated[BinaryOperation, Tag("BinaryOperation")], + Annotated[Block, Tag("Block")], + Annotated[Break, Tag("Break")], + Annotated[Conditional, Tag("Conditional")], + Annotated[Continue, Tag("Continue")], + Annotated[ContractDefinition, Tag("ContractDefinition")], + Annotated[DoWhileStatement, Tag("DoWhileStatement")], + Annotated[ElementaryTypeName, Tag("ElementaryTypeName")], + Annotated[ElementaryTypeNameExpression, Tag("ElementaryTypeNameExpression")], + Annotated[EmitStatement, Tag("EmitStatement")], + Annotated[EnumDefinition, Tag("EnumDefinition")], + Annotated[EnumValue, Tag("EnumValue")], + Annotated[ErrorDefinition, Tag("ErrorDefinition")], + Annotated[EventDefinition, Tag("EventDefinition")], + Annotated[ExpressionStatement, Tag("ExpressionStatement")], + Annotated[ForStatement, Tag("ForStatement")], + Annotated[FunctionCall, Tag("FunctionCall")], + Annotated[FunctionCallOptions, Tag("FunctionCallOptions")], + Annotated[FunctionDefinition, Tag("FunctionDefinition")], + Annotated[FunctionTypeName, Tag("FunctionTypeName")], + Annotated[Identifier, Tag("Identifier")], + Annotated[IdentifierPath, Tag("IdentifierPath")], + Annotated[IfStatement, Tag("IfStatement")], + Annotated[ImportDirective, Tag("ImportDirective")], + Annotated[IndexAccess, Tag("IndexAccess")], + Annotated[IndexRangeAccess, Tag("IndexRangeAccess")], + Annotated[InheritanceSpecifier, Tag("InheritanceSpecifier")], + Annotated[InlineAssembly, Tag("InlineAssembly")], + Annotated[Literal, Tag("Literal")], + Annotated[Mapping, Tag("Mapping")], + Annotated[MemberAccess, Tag("MemberAccess")], + Annotated[ModifierDefinition, Tag("ModifierDefinition")], + Annotated[ModifierInvocation, Tag("ModifierInvocation")], + Annotated[NewExpression, Tag("NewExpression")], + Annotated[OverrideSpecifier, Tag("OverrideSpecifier")], + Annotated[ParameterList, Tag("ParameterList")], + Annotated[PlaceholderStatement, Tag("PlaceholderStatement")], + Annotated[PragmaDirective, Tag("PragmaDirective")], + Annotated[Return, Tag("Return")], + Annotated[RevertStatement, Tag("RevertStatement")], + Annotated[SourceUnit, Tag("SourceUnit")], + Annotated[StorageLayoutSpecifier, Tag("StorageLayoutSpecifier")], + Annotated[StructDefinition, Tag("StructDefinition")], + Annotated[StructuredDocumentation, Tag("StructuredDocumentation")], + Annotated[TryCatchClause, Tag("TryCatchClause")], + Annotated[TryStatement, Tag("TryStatement")], + Annotated[TupleExpression, Tag("TupleExpression")], + Annotated[UnaryOperation, Tag("UnaryOperation")], + Annotated[UncheckedBlock, Tag("UncheckedBlock")], + Annotated[UserDefinedTypeName, Tag("UserDefinedTypeName")], + Annotated[UserDefinedValueTypeDefinition, Tag("UserDefinedValueTypeDefinition")], + Annotated[UsingForDirective, Tag("UsingForDirective")], + Annotated[VariableDeclaration, Tag("VariableDeclaration")], + Annotated[VariableDeclarationStatement, Tag("VariableDeclarationStatement")], + Annotated[WhileStatement, Tag("WhileStatement")], + Annotated[YulAssignment, Tag("YulAssignment")], + Annotated[YulBlock, Tag("YulBlock")], + Annotated[YulBreak, Tag("YulBreak")], + Annotated[YulCase, Tag("YulCase")], + Annotated[YulContinue, Tag("YulContinue")], + Annotated[YulExpressionStatement, Tag("YulExpressionStatement")], + Annotated[YulForLoop, Tag("YulForLoop")], + Annotated[YulFunctionCall, Tag("YulFunctionCall")], + Annotated[YulFunctionDefinition, Tag("YulFunctionDefinition")], + Annotated[YulIdentifier, Tag("YulIdentifier")], + Annotated[YulIf, Tag("YulIf")], + Annotated[YulLeave, Tag("YulLeave")], + Annotated[YulLiteralValue | YulLiteralHexValue, Tag("YulLiteral")], + Annotated[YulSwitch, Tag("YulSwitch")], + Annotated[YulTypedName, Tag("YulTypedName")], + Annotated[YulVariableDeclaration, Tag("YulVariableDeclaration")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator(tag_by_node_type(_NODE_TAGS)), +] +"""Any concrete AST node of any kind (or UnknownNode).""" + +# Schema definition name -> model class ("SourceUnit" is the schema root, the two +# YulLiteral* variants share nodeType "YulLiteral"). +MODEL_BY_SCHEMA_DEF: dict[str, type[AstNode]] = { + "ArrayTypeName": types.ArrayTypeName, + "Assignment": expressions.Assignment, + "BinaryOperation": expressions.BinaryOperation, + "Block": statements.Block, + "Break": statements.Break, + "Conditional": expressions.Conditional, + "Continue": statements.Continue, + "ContractDefinition": declarations.ContractDefinition, + "DoWhileStatement": statements.DoWhileStatement, + "ElementaryTypeName": types.ElementaryTypeName, + "ElementaryTypeNameExpression": expressions.ElementaryTypeNameExpression, + "EmitStatement": statements.EmitStatement, + "EnumDefinition": declarations.EnumDefinition, + "EnumValue": declarations.EnumValue, + "ErrorDefinition": declarations.ErrorDefinition, + "EventDefinition": declarations.EventDefinition, + "ExpressionStatement": statements.ExpressionStatement, + "ForStatement": statements.ForStatement, + "FunctionCall": expressions.FunctionCall, + "FunctionCallOptions": expressions.FunctionCallOptions, + "FunctionDefinition": declarations.FunctionDefinition, + "FunctionTypeName": types.FunctionTypeName, + "Identifier": expressions.Identifier, + "IdentifierPath": types.IdentifierPath, + "IfStatement": statements.IfStatement, + "ImportDirective": declarations.ImportDirective, + "IndexAccess": expressions.IndexAccess, + "IndexRangeAccess": expressions.IndexRangeAccess, + "InheritanceSpecifier": declarations.InheritanceSpecifier, + "InlineAssembly": statements.InlineAssembly, + "Literal": expressions.Literal, + "Mapping": types.Mapping, + "MemberAccess": expressions.MemberAccess, + "ModifierDefinition": declarations.ModifierDefinition, + "ModifierInvocation": declarations.ModifierInvocation, + "NewExpression": expressions.NewExpression, + "OverrideSpecifier": declarations.OverrideSpecifier, + "ParameterList": declarations.ParameterList, + "PlaceholderStatement": statements.PlaceholderStatement, + "PragmaDirective": declarations.PragmaDirective, + "Return": statements.Return, + "RevertStatement": statements.RevertStatement, + "SourceUnit": declarations.SourceUnit, + "StorageLayoutSpecifier": declarations.StorageLayoutSpecifier, + "StructDefinition": declarations.StructDefinition, + "StructuredDocumentation": declarations.StructuredDocumentation, + "TryCatchClause": statements.TryCatchClause, + "TryStatement": statements.TryStatement, + "TupleExpression": expressions.TupleExpression, + "UnaryOperation": expressions.UnaryOperation, + "UncheckedBlock": statements.UncheckedBlock, + "UserDefinedTypeName": types.UserDefinedTypeName, + "UserDefinedValueTypeDefinition": declarations.UserDefinedValueTypeDefinition, + "UsingForDirective": declarations.UsingForDirective, + "VariableDeclaration": declarations.VariableDeclaration, + "VariableDeclarationStatement": statements.VariableDeclarationStatement, + "WhileStatement": statements.WhileStatement, + "YulAssignment": yul.YulAssignment, + "YulBlock": yul.YulBlock, + "YulBreak": yul.YulBreak, + "YulCase": yul.YulCase, + "YulContinue": yul.YulContinue, + "YulExpressionStatement": yul.YulExpressionStatement, + "YulForLoop": yul.YulForLoop, + "YulFunctionCall": yul.YulFunctionCall, + "YulFunctionDefinition": yul.YulFunctionDefinition, + "YulIdentifier": yul.YulIdentifier, + "YulIf": yul.YulIf, + "YulLeave": yul.YulLeave, + "YulLiteralHexValue": yul.YulLiteralHexValue, + "YulLiteralValue": yul.YulLiteralValue, + "YulSwitch": yul.YulSwitch, + "YulTypedName": yul.YulTypedName, + "YulVariableDeclaration": yul.YulVariableDeclaration, +} + + +_UNION_ALIASES: dict[str, object] = { + "Expression": Expression, + "Statement": Statement, + "TypeName": TypeName, + "SourceUnitNode": SourceUnitNode, + "ContractBodyNode": ContractBodyNode, + "Node": Node, + "YulStatement": YulStatement, + "YulExpression": YulExpression, + "YulLiteral": YulLiteral, +} + +_NAMESPACE: dict[str, object] = { + **{cls.__name__: cls for cls in MODEL_BY_SCHEMA_DEF.values()}, + **_UNION_ALIASES, +} + +# Node modules reference classes and unions from sibling modules as string forward +# refs only (they import nothing from each other at runtime). Resolve everything by +# injecting the shared namespace into each module's globals — never clobbering a +# name the module already defines (e.g. typing.Literal vs the Literal node class) — +# and rebuild every model once. +for _mod in (types, expressions, statements, declarations, yul): + for _name, _obj in _NAMESPACE.items(): + if not hasattr(_mod, _name): + setattr(_mod, _name, _obj) + +for _cls in {*MODEL_BY_SCHEMA_DEF.values(), UnknownNode}: + _cls.model_rebuild(force=True) + diff --git a/certora_autosetup/solidity_ast/yul.py b/certora_autosetup/solidity_ast/yul.py new file mode 100644 index 0000000..eb39ef1 --- /dev/null +++ b/certora_autosetup/solidity_ast/yul.py @@ -0,0 +1,186 @@ +"""Yul AST nodes (the ``AST`` of an ``InlineAssembly`` node, solc >= 0.6). + +Self-contained: unlike the Solidity node modules, the union aliases +(``YulLiteral``/``YulExpression``/``YulStatement``) are defined here and all models +are rebuilt at import time, so this module validates on its own. +""" + +from __future__ import annotations + +from typing import Annotated, Literal, Union + +from pydantic import Discriminator, Tag + +from .base import UNKNOWN_TAG, UnknownNode, YulNode, tag_by_node_type + + +class YulAssignment(YulNode): + value: YulExpression + variableNames: list[YulIdentifier] + nodeType: Literal["YulAssignment"] + + +class YulBlock(YulNode): + statements: list[YulStatement] + nodeType: Literal["YulBlock"] + + +class YulBreak(YulNode): + nodeType: Literal["YulBreak"] + + +class YulCase(YulNode): + body: YulBlock + value: Literal["default"] | YulLiteral + nodeType: Literal["YulCase"] + + +class YulContinue(YulNode): + nodeType: Literal["YulContinue"] + + +class YulExpressionStatement(YulNode): + expression: YulExpression + nodeType: Literal["YulExpressionStatement"] + + +class YulForLoop(YulNode): + body: YulBlock + condition: YulExpression + post: YulBlock + pre: YulBlock + nodeType: Literal["YulForLoop"] + + +class YulFunctionCall(YulNode): + arguments: list[YulExpression] + functionName: YulIdentifier + nodeType: Literal["YulFunctionCall"] + + +class YulFunctionDefinition(YulNode): + body: YulBlock + name: str + parameters: list[YulTypedName] | None = None + returnVariables: list[YulTypedName] | None = None + nodeType: Literal["YulFunctionDefinition"] + + +class YulIdentifier(YulNode): + name: str + nodeType: Literal["YulIdentifier"] + + +class YulIf(YulNode): + body: YulBlock + condition: YulExpression + nodeType: Literal["YulIf"] + + +class YulLeave(YulNode): + nodeType: Literal["YulLeave"] + + +class YulLiteralValue(YulNode): + value: str + kind: Literal["number", "string", "bool"] + type: str + nodeType: Literal["YulLiteral"] + + +class YulLiteralHexValue(YulNode): + hexValue: str + kind: Literal["number", "string", "bool"] + type: str + value: str | None = None + nodeType: Literal["YulLiteral"] + + +class YulSwitch(YulNode): + cases: list[YulCase] + expression: YulExpression + nodeType: Literal["YulSwitch"] + + +class YulTypedName(YulNode): + name: str + type: str + nodeType: Literal["YulTypedName"] + + +class YulVariableDeclaration(YulNode): + value: YulExpression | None = None + variables: list[YulTypedName] + nodeType: Literal["YulVariableDeclaration"] + + +# Union aliases mirroring the schema's helper definitions. Both YulLiteral variants +# share the "YulLiteral" tag, so within that branch pydantic picks by fields. +YulLiteral = YulLiteralValue | YulLiteralHexValue + +YulExpression = Annotated[ + Union[ + Annotated[YulFunctionCall, Tag("YulFunctionCall")], + Annotated[YulIdentifier, Tag("YulIdentifier")], + Annotated[YulLiteralValue | YulLiteralHexValue, Tag("YulLiteral")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator( + tag_by_node_type(frozenset({"YulFunctionCall", "YulIdentifier", "YulLiteral"})) + ), +] + +YulStatement = Annotated[ + Union[ + Annotated[YulAssignment, Tag("YulAssignment")], + Annotated[YulBlock, Tag("YulBlock")], + Annotated[YulBreak, Tag("YulBreak")], + Annotated[YulContinue, Tag("YulContinue")], + Annotated[YulExpressionStatement, Tag("YulExpressionStatement")], + Annotated[YulLeave, Tag("YulLeave")], + Annotated[YulForLoop, Tag("YulForLoop")], + Annotated[YulFunctionDefinition, Tag("YulFunctionDefinition")], + Annotated[YulIf, Tag("YulIf")], + Annotated[YulSwitch, Tag("YulSwitch")], + Annotated[YulVariableDeclaration, Tag("YulVariableDeclaration")], + Annotated[UnknownNode, Tag(UNKNOWN_TAG)], + ], + Discriminator( + tag_by_node_type( + frozenset( + { + "YulAssignment", + "YulBlock", + "YulBreak", + "YulContinue", + "YulExpressionStatement", + "YulLeave", + "YulForLoop", + "YulFunctionDefinition", + "YulIf", + "YulSwitch", + "YulVariableDeclaration", + } + ) + ) + ), +] + +# The Yul namespace is fully defined above, so forward refs resolve right here. +YulAssignment.model_rebuild() +YulBlock.model_rebuild() +YulBreak.model_rebuild() +YulCase.model_rebuild() +YulContinue.model_rebuild() +YulExpressionStatement.model_rebuild() +YulForLoop.model_rebuild() +YulFunctionCall.model_rebuild() +YulFunctionDefinition.model_rebuild() +YulIdentifier.model_rebuild() +YulIf.model_rebuild() +YulLeave.model_rebuild() +YulLiteralValue.model_rebuild() +YulLiteralHexValue.model_rebuild() +YulSwitch.model_rebuild() +YulTypedName.model_rebuild() +YulVariableDeclaration.model_rebuild() diff --git a/tests/fixtures/solidity_ast/README.md b/tests/fixtures/solidity_ast/README.md new file mode 100644 index 0000000..1ad05a0 --- /dev/null +++ b/tests/fixtures/solidity_ast/README.md @@ -0,0 +1,17 @@ +# solidity_ast test fixtures + +Fixtures for the `certora_autosetup/solidity_ast/` pydantic AST models. + +- `contracts/` — feature-breadth Solidity sources. `breadth_06.sol` is shared by + solc 0.6.x and 0.7.x; `breadth_08.sol` adds the 0.8-only constructs (custom + errors, UDVTs, user-defined operators, unchecked, named mapping params, ...). +- `solc_.asts.json` — real `certoraRun --dump_asts` output (sanitized to be + machine-independent). Regenerate with `generate_fixtures.py` (dev-only, not run + in CI; see its docstring). +- `expected_parent_graph_0_8_30.json` — golden output of the frozen legacy + parent-graph algorithm over `solc_0_8_30.asts.json` (`generate_fixtures.py --golden`). +- `vyper_mixed.asts.json` — **SYNTHETIC (hand-written), not a real certoraRun + dump**: pins the passthrough shape for a mixed Solidity+Vyper dump. One level-1 + entry with two level-2 sources: a real solc-0.8.30-shaped Solidity `Counter` + and a Vyper source whose nodes use the Vyper dialect (`ast_type`/`node_id` + keys instead of `nodeType`/`id`). diff --git a/tests/fixtures/solidity_ast/contracts/breadth_06.sol b/tests/fixtures/solidity_ast/contracts/breadth_06.sol new file mode 100644 index 0000000..f03f27e --- /dev/null +++ b/tests/fixtures/solidity_ast/contracts/breadth_06.sol @@ -0,0 +1,204 @@ +// SPDX-License-Identifier: MIT +// Breadth fixture for solc 0.6.x / 0.7.x compact-AST generation. Exercises: +// inheritance diamond, abstract contract, interface, library, struct/enum/event/ +// modifier, constructor params, try/catch, inline assembly (function def, for, +// switch, literals, break/continue/leave), tuple & conditional expressions, +// internal function types, `using for`, staticcall probing (no address.code +// member before 0.8), constant/immutable state vars, mapping/array types. +pragma solidity >=0.6.12 <0.8.0; + +interface IToken { + event Transfer(address indexed from, address indexed to, uint256 value); + + function balanceOf(address who) external view returns (uint256); +} + +library MathLib { + function clampedAdd(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + return c < a ? type(uint256).max : c; + } +} + +abstract contract Base { + enum Phase { + Init, + Active, + Done + } + + struct Account { + uint256 balance; + uint64 nonce; + } + + uint256 public constant LIMIT = 100; + uint256 public immutable createdAt; + address internal owner; + + event PhaseChanged(Phase indexed newPhase); + + modifier onlyOwner() { + require(msg.sender == owner, "not owner"); + _; + } + + // `internal`: required by 0.6 for abstract-contract constructors, warning-only on 0.7. + constructor() internal { + createdAt = block.timestamp; + owner = msg.sender; + } + + function ping() public virtual returns (uint256); +} + +contract Left is Base { + function ping() public virtual override returns (uint256) { + return 1; + } +} + +contract Right is Base { + function ping() public virtual override returns (uint256) { + return 2; + } +} + +contract Diamond is Left, Right, IToken { + using MathLib for uint256; + + mapping(address => Account) public accounts; + uint256[] internal history; + Phase public phase; + + constructor(address firstUser, uint256 seed) public { + accounts[firstUser] = Account({balance: seed, nonce: 0}); + history.push(seed); + } + + function ping() public override(Left, Right) returns (uint256) { + phase = Phase.Active; + emit PhaseChanged(phase); + return super.ping(); + } + + function balanceOf(address who) external view override returns (uint256) { + return accounts[who].balance; + } + + function transfer(address to, uint256 value) external onlyOwner returns (bool) { + Account storage from = accounts[msg.sender]; + require(from.balance >= value, "insufficient"); + from.balance -= value; + accounts[to].balance = accounts[to].balance.clampedAdd(value); + emit Transfer(msg.sender, to, value); + return true; + } + + function applyTwice( + function(uint256) internal pure returns (uint256) f, + uint256 x + ) internal pure returns (uint256) { + return f(f(x)); + } + + function bump(uint256 x) internal pure returns (uint256) { + return x + 1; + } + + function tupleAndConditional(uint256 a, uint256 b) + public + pure + returns (uint256 lo, uint256 hi) + { + uint256 m = a < b ? a : b; + (lo, hi) = (m, a + b); + lo = applyTwice(bump, lo); + } + + function safeBalance(IToken token, address who) external view returns (uint256) { + try token.balanceOf(who) returns (uint256 value) { + return value; + } catch Error(string memory) { + return 0; + } catch (bytes memory) { + return type(uint256).max; + } + } + + // Pre-0.8 there is no address.code member; probe the target via staticcall. + function probe(address target) public view returns (bool ok, bytes memory data) { + (ok, data) = target.staticcall(abi.encodeWithSignature("ping()")); + } + + function controlFlow(uint256 n) public pure returns (uint256 acc) { + for (uint256 i = 0; i < n; i++) { + if (i == 3) { + continue; + } else if (i > 7) { + break; + } + acc += i; + } + uint256 j = 0; + while (j < n) { + j++; + } + do { + acc = acc + 1; + } while (acc < n); + uint256[] memory scratch = new uint256[](n + 1); + scratch[0] = acc; + delete scratch[0]; + acc = scratch.length; + } + + function sendNothing(address payable to) external onlyOwner { + (bool ok, ) = to.call{value: 0}(""); + require(ok, "call failed"); + } + + receive() external payable {} + + fallback() external payable {} + + function yulStuff(uint256 n) public pure returns (uint256 r) { + assembly { + function double(a) -> b { + if iszero(a) { + leave + } + b := mul(a, 2) + } + let acc := 0 + for { + let i := 0 + } lt(i, n) { + i := add(i, 1) + } { + if eq(i, 5) { + continue + } + if gt(i, 10) { + break + } + acc := add(acc, double(i)) + } + switch and(acc, 1) + case 0 { + r := acc + } + case 1 { + r := add(acc, 1) + } + default { + r := 0 + } + let tag := "yul" + let flag := true + if and(flag, gt(r, 0xff)) { + r := byte(0, tag) + } + } + } +} diff --git a/tests/fixtures/solidity_ast/contracts/breadth_08.sol b/tests/fixtures/solidity_ast/contracts/breadth_08.sol new file mode 100644 index 0000000..59cba5c --- /dev/null +++ b/tests/fixtures/solidity_ast/contracts/breadth_08.sol @@ -0,0 +1,246 @@ +// SPDX-License-Identifier: MIT +// Breadth fixture for solc 0.8.x compact-AST generation. Everything in +// breadth_06.sol PLUS: custom errors + revert statement, user-defined value +// type, unchecked blocks, free functions, index-range access (calldata bytes +// slicing), named mapping params, user-defined operators with +// `using {...} for ... global`, address.code / .code.length. +pragma solidity ^0.8.19; + +type Price is uint128; + +function addPrice(Price a, Price b) pure returns (Price) { + return Price.wrap(Price.unwrap(a) + Price.unwrap(b)); +} + +function eqPrice(Price a, Price b) pure returns (bool) { + return Price.unwrap(a) == Price.unwrap(b); +} + +using {addPrice as +, eqPrice as ==} for Price global; + +error Unauthorized(address who); +error Insufficient(uint256 requested, uint256 available); + +// Free function. +function clamp(uint256 x, uint256 limit) pure returns (uint256) { + return x > limit ? limit : x; +} + +interface IToken { + event Transfer(address indexed from, address indexed to, uint256 value); + + function balanceOf(address who) external view returns (uint256); +} + +library MathLib { + function clampedAdd(uint256 a, uint256 b) internal pure returns (uint256) { + unchecked { + uint256 c = a + b; + return c < a ? type(uint256).max : c; + } + } +} + +abstract contract Base { + enum Phase { + Init, + Active, + Done + } + + struct Account { + uint256 balance; + uint64 nonce; + } + + uint256 public constant LIMIT = 100; + uint256 public immutable createdAt; + address internal owner; + + event PhaseChanged(Phase indexed newPhase); + + modifier onlyOwner() { + if (msg.sender != owner) { + revert Unauthorized(msg.sender); + } + _; + } + + constructor() { + createdAt = block.timestamp; + owner = msg.sender; + } + + function ping() public virtual returns (uint256); +} + +contract Left is Base { + function ping() public virtual override returns (uint256) { + return 1; + } +} + +contract Right is Base { + function ping() public virtual override returns (uint256) { + return 2; + } +} + +contract Diamond is Left, Right, IToken { + using MathLib for uint256; + + // Named mapping key/value params (solc >= 0.8.18). + mapping(address owner => Account account) public accounts; + uint256[] internal history; + Phase public phase; + Price public floorPrice; + + constructor(address firstUser, uint256 seed) { + accounts[firstUser] = Account({balance: seed, nonce: 0}); + history.push(seed); + floorPrice = Price.wrap(uint128(clamp(seed, LIMIT))); + } + + function ping() public override(Left, Right) returns (uint256) { + phase = Phase.Active; + emit PhaseChanged(phase); + return super.ping(); + } + + function balanceOf(address who) external view override returns (uint256) { + return accounts[who].balance; + } + + function transfer(address to, uint256 value) external onlyOwner returns (bool) { + Account storage from = accounts[msg.sender]; + if (from.balance < value) { + revert Insufficient(value, from.balance); + } + unchecked { + from.balance -= value; + } + accounts[to].balance = accounts[to].balance.clampedAdd(value); + emit Transfer(msg.sender, to, value); + return true; + } + + // User-defined operators on the user-defined value type. + function total(Price a, Price b) public pure returns (Price) { + if (a == b) { + return a + a; + } + return a + b; + } + + function applyTwice( + function(uint256) internal pure returns (uint256) f, + uint256 x + ) internal pure returns (uint256) { + return f(f(x)); + } + + function bump(uint256 x) internal pure returns (uint256) { + return x + 1; + } + + function tupleAndConditional(uint256 a, uint256 b) + public + pure + returns (uint256 lo, uint256 hi) + { + uint256 m = a < b ? a : b; + (lo, hi) = (m, a + b); + lo = applyTwice(bump, lo); + } + + function safeBalance(IToken token, address who) external view returns (uint256) { + try token.balanceOf(who) returns (uint256 value) { + return value; + } catch Error(string memory) { + return 0; + } catch (bytes memory) { + return type(uint256).max; + } + } + + function codeProbe(address target) public view returns (uint256 size, bytes memory blob) { + size = target.code.length; + blob = address(this).code; + } + + // Index-range access on calldata bytes. + function selectorOf(bytes calldata data) external pure returns (bytes calldata) { + return data[0:4]; + } + + function controlFlow(uint256 n) public pure returns (uint256 acc) { + for (uint256 i = 0; i < n; i++) { + if (i == 3) { + continue; + } else if (i > 7) { + break; + } + acc += i; + } + uint256 j = 0; + while (j < n) { + j++; + } + do { + acc = acc + 1; + } while (acc < n); + uint256[] memory scratch = new uint256[](n + 1); + scratch[0] = acc; + delete scratch[0]; + acc = scratch.length; + } + + function sendNothing(address payable to) external onlyOwner { + (bool ok, ) = to.call{value: 0}(""); + require(ok, "call failed"); + } + + receive() external payable {} + + fallback() external payable {} + + function yulStuff(uint256 n) public pure returns (uint256 r) { + assembly { + function double(a) -> b { + if iszero(a) { + leave + } + b := mul(a, 2) + } + let acc := 0 + for { + let i := 0 + } lt(i, n) { + i := add(i, 1) + } { + if eq(i, 5) { + continue + } + if gt(i, 10) { + break + } + acc := add(acc, double(i)) + } + switch and(acc, 1) + case 0 { + r := acc + } + case 1 { + r := add(acc, 1) + } + default { + r := 0 + } + let tag := "yul" + let flag := true + if and(flag, gt(r, 0xff)) { + r := byte(0, tag) + } + } + } +} diff --git a/tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json b/tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json new file mode 100644 index 0000000..da2330c --- /dev/null +++ b/tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json @@ -0,0 +1,668 @@ +{ + "breadth_08.sol": { + "breadth_08.sol": { + "2": "3", + "4": "5", + "5": "6", + "7": "8", + "8": "9", + "6": "10", + "9": "10", + "11": "12", + "12": "13", + "13": "14", + "15": "16", + "17": "18", + "19": "20", + "18": "20", + "21": "22", + "23": "24", + "22": "24", + "20": "25", + "24": "25", + "25": "26", + "16": "26", + "26": "27", + "27": "28", + "28": "29", + "10": "29", + "14": "29", + "30": "31", + "31": "32", + "33": "34", + "34": "35", + "32": "36", + "35": "36", + "37": "38", + "38": "39", + "40": "41", + "42": "43", + "41": "43", + "44": "45", + "46": "47", + "45": "47", + "43": "48", + "47": "48", + "48": "49", + "49": "50", + "50": "51", + "36": "51", + "39": "51", + "54": "55", + "55": "56", + "57": "58", + "58": "59", + "59": "60", + "61": "62", + "63": "64", + "62": "65", + "64": "65", + "65": "66", + "67": "68", + "69": "70", + "68": "71", + "70": "71", + "72": "73", + "73": "74", + "75": "77", + "76": "77", + "77": "80", + "79": "80", + "78": "80", + "80": "81", + "81": "82", + "82": "83", + "71": "83", + "74": "83", + "84": "85", + "86": "87", + "88": "89", + "85": "90", + "87": "90", + "89": "90", + "90": "91", + "92": "93", + "93": "94", + "95": "96", + "96": "97", + "94": "98", + "97": "98", + "91": "99", + "98": "99", + "100": "101", + "102": "103", + "101": "104", + "103": "104", + "105": "106", + "106": "107", + "108": "109", + "110": "112", + "111": "112", + "109": "113", + "112": "113", + "114": "116", + "115": "116", + "118": "119", + "119": "120", + "117": "120", + "120": "121", + "116": "123", + "122": "123", + "121": "123", + "123": "124", + "113": "125", + "124": "125", + "125": "126", + "126": "127", + "104": "127", + "107": "127", + "127": "128", + "129": "132", + "130": "132", + "131": "132", + "133": "134", + "135": "136", + "134": "137", + "136": "137", + "138": "140", + "139": "140", + "141": "142", + "143": "144", + "145": "146", + "146": "147", + "147": "148", + "148": "149", + "151": "152", + "152": "154", + "153": "154", + "156": "157", + "157": "158", + "155": "158", + "158": "159", + "159": "160", + "154": "161", + "160": "161", + "161": "163", + "162": "163", + "163": "164", + "150": "164", + "168": "169", + "167": "170", + "169": "170", + "170": "171", + "173": "174", + "172": "175", + "174": "175", + "175": "176", + "171": "177", + "176": "177", + "177": "178", + "165": "178", + "166": "178", + "180": "181", + "181": "182", + "179": "183", + "182": "183", + "132": "184", + "137": "184", + "140": "184", + "142": "184", + "144": "184", + "149": "184", + "164": "184", + "178": "184", + "183": "184", + "185": "186", + "189": "190", + "190": "191", + "192": "193", + "193": "194", + "194": "195", + "188": "195", + "187": "195", + "191": "195", + "186": "196", + "195": "196", + "197": "198", + "201": "202", + "202": "203", + "204": "205", + "205": "206", + "206": "207", + "200": "207", + "199": "207", + "203": "207", + "198": "208", + "207": "208", + "209": "210", + "211": "212", + "213": "214", + "215": "217", + "216": "217", + "219": "220", + "218": "221", + "220": "221", + "221": "222", + "223": "224", + "224": "225", + "226": "227", + "227": "228", + "229": "230", + "230": "231", + "232": "233", + "234": "235", + "233": "236", + "235": "236", + "238": "240", + "239": "240", + "242": "244", + "243": "244", + "241": "244", + "240": "245", + "244": "245", + "245": "246", + "247": "249", + "250": "251", + "249": "251", + "251": "252", + "254": "255", + "256": "257", + "259": "261", + "260": "261", + "258": "261", + "261": "262", + "257": "262", + "262": "263", + "255": "263", + "253": "264", + "263": "264", + "264": "265", + "246": "266", + "252": "266", + "265": "266", + "266": "267", + "236": "267", + "237": "267", + "269": "271", + "270": "271", + "272": "273", + "273": "274", + "276": "277", + "275": "278", + "277": "278", + "278": "279", + "281": "282", + "280": "282", + "282": "283", + "284": "285", + "285": "286", + "286": "287", + "279": "288", + "283": "288", + "287": "288", + "288": "289", + "271": "289", + "268": "289", + "274": "289", + "290": "291", + "291": "292", + "294": "295", + "295": "296", + "297": "299", + "298": "299", + "299": "300", + "300": "301", + "301": "302", + "302": "303", + "293": "303", + "292": "303", + "296": "303", + "304": "305", + "306": "307", + "305": "308", + "307": "308", + "309": "310", + "311": "312", + "312": "313", + "314": "315", + "315": "316", + "318": "319", + "317": "320", + "319": "320", + "316": "321", + "320": "321", + "322": "323", + "323": "325", + "324": "325", + "328": "329", + "327": "330", + "329": "330", + "326": "330", + "330": "331", + "331": "332", + "325": "333", + "332": "333", + "334": "336", + "336": "338", + "337": "338", + "338": "339", + "339": "340", + "341": "343", + "342": "343", + "343": "344", + "345": "347", + "346": "347", + "347": "348", + "348": "349", + "350": "351", + "349": "351", + "344": "352", + "351": "352", + "352": "353", + "355": "356", + "356": "359", + "357": "359", + "358": "359", + "354": "359", + "359": "360", + "361": "362", + "321": "363", + "333": "363", + "340": "363", + "353": "363", + "360": "363", + "362": "363", + "363": "364", + "310": "364", + "308": "364", + "313": "364", + "365": "366", + "366": "367", + "368": "369", + "369": "370", + "367": "371", + "370": "371", + "372": "373", + "373": "374", + "374": "375", + "376": "378", + "377": "378", + "379": "381", + "380": "381", + "381": "382", + "382": "383", + "378": "384", + "383": "384", + "385": "387", + "386": "387", + "387": "388", + "384": "389", + "388": "389", + "389": "390", + "371": "390", + "375": "390", + "391": "392", + "392": "393", + "394": "395", + "395": "396", + "393": "397", + "396": "397", + "397": "398", + "399": "400", + "398": "401", + "400": "401", + "402": "403", + "403": "404", + "407": "408", + "406": "408", + "408": "409", + "405": "409", + "409": "410", + "410": "411", + "411": "412", + "401": "412", + "404": "412", + "413": "414", + "414": "415", + "416": "417", + "417": "418", + "419": "421", + "420": "421", + "421": "422", + "422": "423", + "423": "424", + "415": "424", + "418": "424", + "425": "426", + "427": "428", + "426": "429", + "428": "429", + "430": "431", + "432": "433", + "431": "434", + "433": "434", + "435": "436", + "437": "439", + "438": "439", + "439": "442", + "441": "442", + "440": "442", + "436": "443", + "442": "443", + "444": "446", + "445": "446", + "448": "450", + "449": "450", + "447": "451", + "450": "451", + "446": "452", + "451": "452", + "452": "453", + "456": "458", + "457": "458", + "455": "458", + "454": "459", + "458": "459", + "459": "460", + "443": "461", + "453": "461", + "460": "461", + "461": "462", + "429": "462", + "434": "462", + "463": "464", + "464": "465", + "466": "467", + "465": "468", + "467": "468", + "469": "470", + "470": "471", + "472": "473", + "474": "475", + "473": "475", + "476": "477", + "477": "478", + "479": "480", + "480": "481", + "481": "482", + "478": "482", + "483": "484", + "484": "485", + "486": "487", + "487": "488", + "488": "489", + "485": "489", + "490": "491", + "491": "492", + "494": "495", + "495": "496", + "493": "496", + "496": "497", + "497": "498", + "498": "499", + "499": "500", + "492": "500", + "482": "501", + "489": "501", + "500": "501", + "475": "501", + "501": "502", + "502": "503", + "468": "503", + "471": "503", + "504": "505", + "505": "506", + "507": "508", + "509": "510", + "508": "511", + "510": "511", + "513": "514", + "514": "515", + "512": "516", + "515": "516", + "516": "517", + "519": "520", + "521": "522", + "520": "522", + "522": "523", + "518": "524", + "523": "524", + "524": "525", + "517": "526", + "525": "526", + "526": "527", + "506": "527", + "511": "527", + "528": "529", + "529": "530", + "531": "532", + "532": "533", + "534": "537", + "536": "537", + "535": "537", + "537": "538", + "538": "539", + "539": "540", + "530": "540", + "533": "540", + "541": "542", + "542": "543", + "544": "545", + "545": "546", + "547": "548", + "548": "550", + "549": "550", + "551": "553", + "552": "553", + "554": "555", + "555": "556", + "557": "559", + "558": "559", + "560": "561", + "562": "564", + "563": "564", + "565": "566", + "564": "567", + "566": "567", + "559": "568", + "567": "568", + "561": "568", + "569": "571", + "570": "571", + "571": "572", + "568": "573", + "572": "573", + "573": "574", + "553": "574", + "550": "574", + "556": "574", + "575": "576", + "576": "578", + "577": "578", + "579": "581", + "580": "581", + "582": "583", + "583": "584", + "584": "585", + "585": "586", + "581": "586", + "588": "590", + "589": "590", + "587": "591", + "590": "591", + "591": "592", + "592": "593", + "594": "596", + "595": "596", + "593": "597", + "596": "597", + "600": "601", + "601": "602", + "603": "604", + "604": "605", + "606": "608", + "607": "608", + "608": "609", + "605": "609", + "602": "610", + "609": "610", + "611": "613", + "612": "613", + "613": "615", + "614": "615", + "615": "616", + "617": "619", + "618": "619", + "619": "620", + "620": "621", + "623": "624", + "622": "625", + "624": "625", + "625": "626", + "574": "627", + "578": "627", + "586": "627", + "597": "627", + "610": "627", + "616": "627", + "621": "627", + "626": "627", + "627": "628", + "543": "628", + "546": "628", + "629": "630", + "630": "631", + "632": "633", + "635": "636", + "637": "638", + "638": "640", + "639": "640", + "641": "642", + "640": "642", + "636": "643", + "642": "643", + "645": "647", + "646": "647", + "644": "647", + "647": "648", + "643": "649", + "648": "649", + "649": "650", + "633": "650", + "631": "650", + "634": "650", + "653": "654", + "651": "654", + "652": "654", + "657": "658", + "655": "658", + "656": "658", + "659": "660", + "660": "661", + "662": "663", + "663": "664", + "665": "666", + "666": "667", + "661": "667", + "664": "667", + "210": "668", + "212": "668", + "214": "668", + "217": "668", + "222": "668", + "225": "668", + "228": "668", + "231": "668", + "267": "668", + "289": "668", + "303": "668", + "364": "668", + "390": "668", + "412": "668", + "424": "668", + "462": "668", + "503": "668", + "527": "668", + "540": "668", + "628": "668", + "650": "668", + "654": "668", + "658": "668", + "667": "668", + "1": "669", + "3": "669", + "29": "669", + "51": "669", + "56": "669", + "60": "669", + "66": "669", + "83": "669", + "99": "669", + "128": "669", + "184": "669", + "196": "669", + "208": "669", + "668": "669" + } + } +} diff --git a/tests/fixtures/solidity_ast/generate_fixtures.py b/tests/fixtures/solidity_ast/generate_fixtures.py new file mode 100644 index 0000000..87fa5be --- /dev/null +++ b/tests/fixtures/solidity_ast/generate_fixtures.py @@ -0,0 +1,263 @@ +#!/usr/bin/env python3 +"""Dev-only generator for the solidity_ast test fixtures. NEVER run in CI. + +Default mode +------------ +For each (solc version, contract file) pair in ``PAIRS``, run ``certoraRun`` +with ``--dump_asts --compilation_steps_only`` (fully local: compiles and dumps +ASTs, sends nothing anywhere) inside a temporary working directory, pick up the +``.asts.json`` written to the newest ``.certora_internal//`` build dir, +sanitize it (see below), and write ``solc_.asts.json`` next to this script. + +Requires ``certoraRun`` (e.g. ``uv run --with certora-cli python +tests/fixtures/solidity_ast/generate_fixtures.py``) and the solc binaries for +the versions in ``PAIRS`` (solc-select artifacts, ``solc``/``solc-`` +on PATH, or a directory of ``solc-`` binaries via ``--solc-dir``). + +Sanitization +------------ +The raw dump is a three-level mapping:: + + {cli_path: {absolute_path: {node_id: node}}} + +Level-1 keys are the contract paths as passed on the certoraRun command line, +level-2 keys are machine-specific absolute paths, and SourceUnit nodes carry +``absolutePath`` string fields holding the same absolute paths. All three are +rewritten to paths relative to the ``contracts/`` directory (e.g. +``"breadth_08.sol"``) so the fixtures are machine-independent. Everything else +— values, key order, node contents — is kept exactly as dumped. + +--golden mode +------------- +Reads ``solc_0_8_30.asts.json`` and writes +``expected_parent_graph_0_8_30.json`` using the FROZEN legacy parent-graph +algorithm, copied verbatim from +``certora_autosetup/setup/setup_prover.py`` (``generate_ast_graph`` + +``_extract_child_node_ids``). The copy is intentional: it pins the legacy +semantics as a golden reference even if setup_prover.py later migrates to the +typed AST models. Do not "fix" or modernize it. +""" + +from __future__ import annotations + +import argparse +import json +import shutil +import subprocess +import sys +import tempfile +from pathlib import Path, PurePosixPath +from typing import Any + +FIXTURES_DIR = Path(__file__).resolve().parent +CONTRACTS_DIR = FIXTURES_DIR / "contracts" + +# (solc version, contract file, main contract) — breadth_06.sol is shared by +# 0.6 and 0.7 (pragma >=0.6.12 <0.8.0). +PAIRS: list[tuple[str, str, str]] = [ + ("0.6.12", "breadth_06.sol", "Diamond"), + ("0.7.6", "breadth_06.sol", "Diamond"), + ("0.8.30", "breadth_08.sol", "Diamond"), +] + +DUMMY_SPEC = "rule dummy { assert true; }\n" + + +def find_solc(version: str, solc_dir: Path | None) -> Path: + """Locate a solc binary for ``version`` (see module docstring).""" + candidates: list[Path] = [] + if solc_dir is not None: + candidates += [solc_dir / f"solc-{version}", solc_dir / f"solc{version}"] + for name in (f"solc{version}", f"solc-{version}"): + found = shutil.which(name) + if found: + candidates.append(Path(found)) + candidates.append( + Path.home() / ".solc-select" / "artifacts" / f"solc-{version}" / f"solc-{version}" + ) + for candidate in candidates: + if candidate.is_file(): + return candidate + raise FileNotFoundError( + f"No solc {version} binary found (tried {[str(c) for c in candidates]}); " + f"download it from https://binaries.soliditylang.org/ and pass --solc-dir" + ) + + +def _rel_to_contracts(path_str: str) -> str: + """Rewrite a dump path to be relative to the contracts/ directory. + + Both the level-1 keys (CLI-relative, e.g. ``contracts/breadth_06.sol``) and + the level-2 keys / ``absolutePath`` values (absolute paths into the temp + working dir) contain a ``contracts/`` component; everything after its last + occurrence is the machine-independent path. + """ + parts = PurePosixPath(path_str).parts + if "contracts" in parts: + idx = len(parts) - 1 - tuple(reversed(parts)).index("contracts") + return str(PurePosixPath(*parts[idx + 1 :])) + return path_str + + +def _rewrite_absolute_paths(obj: Any) -> None: + """Recursively rewrite every string-valued ``absolutePath`` field in-place.""" + if isinstance(obj, dict): + for key, value in obj.items(): + if key == "absolutePath" and isinstance(value, str): + obj[key] = _rel_to_contracts(value) + else: + _rewrite_absolute_paths(value) + elif isinstance(obj, list): + for item in obj: + _rewrite_absolute_paths(item) + + +def sanitize(asts_data: dict[str, Any]) -> dict[str, Any]: + """Sanitize a raw .asts.json dump (see module docstring). Key order is kept.""" + sanitized: dict[str, Any] = {} + for level1_key, level1_value in asts_data.items(): + new_level1: dict[str, Any] = {} + for level2_key, nodes in level1_value.items(): + _rewrite_absolute_paths(nodes) + new_level1[_rel_to_contracts(level2_key)] = nodes + sanitized[_rel_to_contracts(level1_key)] = new_level1 + return sanitized + + +def run_certora_dump( + certora_run: str, contract_file: str, main_contract: str, solc_path: Path +) -> dict[str, Any]: + """Run certoraRun (compile-only) in a temp dir and return the raw dump.""" + with tempfile.TemporaryDirectory(prefix="solidity_ast_fixtures_") as tmp: + workdir = Path(tmp) + shutil.copytree(CONTRACTS_DIR, workdir / "contracts") + spec = workdir / "dummy.spec" + spec.write_text(DUMMY_SPEC) + cmd = [ + certora_run, + f"contracts/{contract_file}:{main_contract}", + "--verify", + f"{main_contract}:dummy.spec", + "--compilation_steps_only", + "--dump_asts", + "--solc", + str(solc_path), + ] + print(f"+ {' '.join(cmd)} (cwd={workdir})") + subprocess.run(cmd, cwd=workdir, check=True) + dumps = sorted( + workdir.glob(".certora_internal/*/.asts.json"), + key=lambda p: p.stat().st_mtime, + ) + if not dumps: + raise RuntimeError(f"certoraRun produced no .asts.json under {workdir}") + with open(dumps[-1]) as f: + return json.load(f) + + +def generate_fixtures(certora_run: str, solc_dir: Path | None) -> None: + for version, contract_file, main_contract in PAIRS: + solc_path = find_solc(version, solc_dir) + raw = run_certora_dump(certora_run, contract_file, main_contract, solc_path) + sanitized = sanitize(raw) + out_path = FIXTURES_DIR / f"solc_{version.replace('.', '_')}.asts.json" + with open(out_path, "w") as f: + json.dump(sanitized, f, indent=2) + f.write("\n") + node_count = sum(len(nodes) for lvl1 in sanitized.values() for nodes in lvl1.values()) + print(f"wrote {out_path} ({node_count} nodes)") + + +# --------------------------------------------------------------------------- +# --golden: FROZEN legacy parent-graph algorithm, copied verbatim from +# certora_autosetup/setup/setup_prover.py (generate_ast_graph / +# _extract_child_node_ids). Iteration and key-order semantics must not change. +# --------------------------------------------------------------------------- + + +def _extract_child_node_ids(node: Any) -> list[int]: + child_ids = [] + + if isinstance(node, dict): + for key, value in node.items(): + # Look for 'id' fields in nested structures + if isinstance(value, dict) and 'id' in value: + child_ids.append(value['id']) + elif isinstance(value, list): + for item in value: + if isinstance(item, dict) and 'id' in item: + child_ids.append(item['id']) + + return child_ids + + +def build_legacy_parent_graph(asts_data: dict[str, Any]) -> dict[str, Any]: + # Build parent graph: node_id -> parent_node_id + parent_graph = {} + + # Structure: dict[relative_path: dict[absolute_path: dict[node_id: node_data]]] + for relative_path, path_data in asts_data.items(): + parent_graph[relative_path] = {} + + for absolute_path, nodes in path_data.items(): + parent_graph[relative_path][absolute_path] = {} + + # For each node, find all child node IDs and map them to this parent + for node_id, node in nodes.items(): + if not isinstance(node, dict): + continue + + # Find all child node IDs referenced in this node + child_ids = _extract_child_node_ids(node) + for child_id in child_ids: + parent_graph[relative_path][absolute_path][str(child_id)] = str(node_id) + + return parent_graph + + +def generate_golden() -> None: + fixture_path = FIXTURES_DIR / "solc_0_8_30.asts.json" + with open(fixture_path) as f: + asts_data = json.load(f) + parent_graph = build_legacy_parent_graph(asts_data) + out_path = FIXTURES_DIR / "expected_parent_graph_0_8_30.json" + with open(out_path, "w") as f: + json.dump(parent_graph, f, indent=2) + f.write("\n") + edge_count = sum( + len(edges) for lvl1 in parent_graph.values() for edges in lvl1.values() + ) + print(f"wrote {out_path} ({edge_count} parent edges)") + + +def main() -> int: + parser = argparse.ArgumentParser(description=(__doc__ or "").partition("\n")[0]) + parser.add_argument( + "--golden", + action="store_true", + help="derive expected_parent_graph_0_8_30.json from solc_0_8_30.asts.json " + "instead of regenerating the .asts.json fixtures", + ) + parser.add_argument( + "--certora-run", + default="certoraRun", + help="certoraRun executable (default: from PATH)", + ) + parser.add_argument( + "--solc-dir", + type=Path, + default=None, + help="directory containing solc- binaries (checked before PATH " + "and ~/.solc-select/artifacts)", + ) + args = parser.parse_args() + + if args.golden: + generate_golden() + else: + generate_fixtures(args.certora_run, args.solc_dir) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tests/fixtures/solidity_ast/solc_0_6_12.asts.json b/tests/fixtures/solidity_ast/solc_0_6_12.asts.json new file mode 100644 index 0000000..9f3ed5f --- /dev/null +++ b/tests/fixtures/solidity_ast/solc_0_6_12.asts.json @@ -0,0 +1,48552 @@ +{ + "breadth_06.sol": { + "breadth_06.sol": { + "1": { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.6", + ".12", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "500:32:0" + }, + "2": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "3": { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "4": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "5": { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "6": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "7": { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "8": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "9": { + "anonymous": false, + "certora_contract_name": "IToken", + "documentation": null, + "id": 9, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "src": "557:72:0" + }, + "10": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "11": { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "12": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "13": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "14": { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "15": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "16": { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "functionSelector": "70a08231", + "id": 16, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "scope": 17, + "src": "635:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "17": { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 17, + "linearizedBaseContracts": [ + 17 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "certora_contract_name": "IToken", + "documentation": null, + "id": 9, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "src": "557:72:0" + }, + { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "functionSelector": "70a08231", + "id": 16, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "scope": 17, + "src": "635:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 516, + "src": "534:167:0" + }, + "18": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "19": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "20": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "21": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "22": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "23": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "24": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "25": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "26": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "27": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "28": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "29": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "30": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "31": { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + "32": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "33": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "34": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "35": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "36": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + }, + "37": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + }, + "38": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "39": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "40": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "41": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "condition": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "42": { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "condition": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + }, + "43": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "condition": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "44": { + "body": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "condition": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 44, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "scope": 45, + "src": "725:154:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "45": { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 45, + "linearizedBaseContracts": [ + 45 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "condition": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 44, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "scope": 45, + "src": "725:154:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 516, + "src": "703:178:0" + }, + "46": { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + "47": { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + "48": { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + }, + "49": { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 49, + "members": [ + { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "912:61:0" + }, + "50": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "51": { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "52": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "53": { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + "54": { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 54, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 97, + "src": "979:69:0", + "visibility": "public" + }, + "55": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "56": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "57": { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 57, + "mutability": "constant", + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1054:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + "58": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "59": { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 59, + "mutability": "immutable", + "name": "createdAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1095:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + "60": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "61": { + "certora_contract_name": "Base", + "constant": false, + "id": 61, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1135:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "62": { + "certora_contract_name": "Base", + "contractScope": null, + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "63": { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "contractScope": null, + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "internal" + }, + "64": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "contractScope": null, + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "65": { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 65, + "name": "PhaseChanged", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "contractScope": null, + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "src": "1164:43:0" + }, + "66": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "67": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "68": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "69": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "70": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "71": { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "72": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + }, + "73": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "74": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + "75": { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + }, + "76": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "77": { + "body": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 77, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "src": "1213:90:0", + "virtual": false, + "visibility": "internal" + }, + "78": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "79": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "80": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "81": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "82": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "83": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "84": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + "85": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "86": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "87": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "88": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "89": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + }, + "90": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "91": { + "body": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 91, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "scope": 97, + "src": "1401:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + "92": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "93": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "94": { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "95": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "96": { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "functionSelector": "5c36b186", + "id": 96, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "scope": 97, + "src": "1502:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "97": { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 97, + "linearizedBaseContracts": [ + 97 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 49, + "members": [ + { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "912:61:0" + }, + { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 54, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 97, + "src": "979:69:0", + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 57, + "mutability": "constant", + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1054:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 59, + "mutability": "immutable", + "name": "createdAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1095:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 61, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1135:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 65, + "name": "PhaseChanged", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "contractScope": null, + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "src": "1164:43:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 77, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "src": "1213:90:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 91, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "scope": 97, + "src": "1401:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "functionSelector": "5c36b186", + "id": 96, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "scope": 97, + "src": "1502:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "883:670:0" + }, + "98": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "99": { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "1572:4:0" + }, + "100": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "101": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "102": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "103": { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "104": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "105": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "106": { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + }, + "107": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "108": { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "functionSelector": "5c36b186", + "id": 108, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "scope": 109, + "src": "1583:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "109": { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "1572:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 109, + "linearizedBaseContracts": [ + 109, + 97 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "functionSelector": "5c36b186", + "id": 108, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "scope": 109, + "src": "1583:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1555:113:0" + }, + "110": { + "certora_contract_name": "Right", + "contractScope": null, + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "111": { + "arguments": null, + "baseName": { + "certora_contract_name": "Right", + "contractScope": null, + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Right", + "id": 111, + "nodeType": "InheritanceSpecifier", + "src": "1688:4:0" + }, + "112": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "113": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "114": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "115": { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "116": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "117": { + "argumentTypes": null, + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "118": { + "certora_contract_name": "Right", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + }, + "119": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "120": { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "certora_contract_name": "Right", + "documentation": null, + "functionSelector": "5c36b186", + "id": 120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "scope": 121, + "src": "1699:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "121": { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Right", + "contractScope": null, + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Right", + "id": 111, + "nodeType": "InheritanceSpecifier", + "src": "1688:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 121, + "linearizedBaseContracts": [ + 121, + 97 + ], + "name": "Right", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "certora_contract_name": "Right", + "documentation": null, + "functionSelector": "5c36b186", + "id": 120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "scope": 121, + "src": "1699:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1670:114:0" + }, + "122": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "123": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 123, + "nodeType": "InheritanceSpecifier", + "src": "1806:4:0" + }, + "124": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "125": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "certora_contract_name": "Diamond", + "id": 125, + "nodeType": "InheritanceSpecifier", + "src": "1812:5:0" + }, + "126": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "127": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 127, + "nodeType": "InheritanceSpecifier", + "src": "1819:6:0" + }, + "128": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "129": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "130": { + "certora_contract_name": "Diamond", + "id": 130, + "libraryName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "nodeType": "UsingForDirective", + "src": "1832:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "131": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "132": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "133": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "134": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 134, + "mutability": "mutable", + "name": "accounts", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1864:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "value": null, + "visibility": "public" + }, + "135": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "136": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "137": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "history", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1913:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + "138": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "139": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 139, + "mutability": "mutable", + "name": "phase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1945:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "public" + }, + "140": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "141": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "142": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "143": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "144": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "145": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "146": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "147": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "148": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "149": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "150": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "151": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "152": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "153": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "154": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + "155": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "157": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "158": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "159": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "160": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + }, + "161": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "162": { + "body": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 162, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "scope": 515, + "src": "1970:153:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "163": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "164": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "165": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "166": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "167": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "168": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "169": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "170": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "171": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "172": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "173": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "174": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + "175": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "176": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "177": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "178": { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + "179": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "180": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "181": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "182": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + }, + "183": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "184": { + "baseFunctions": [ + 108, + 120 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "5c36b186", + "id": 184, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "scope": 515, + "src": "2129:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "185": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "186": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "187": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "188": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "189": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "190": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "191": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "192": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "193": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "194": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "195": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "196": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + }, + "197": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "198": { + "baseFunctions": [ + 16 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "70a08231", + "id": 198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "scope": 515, + "src": "2298:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "199": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "200": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "201": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "202": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "203": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "204": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "205": { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + }, + "206": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "207": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + "208": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "209": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "210": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "value": null, + "visibility": "internal" + }, + "211": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "212": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "213": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "214": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "215": { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + "216": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "217": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "218": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "219": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "220": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "221": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + }, + "222": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "223": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + "224": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "226": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "227": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "228": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "229": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + "230": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "231": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "232": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "233": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "234": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "235": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "236": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "237": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "238": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "239": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "240": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "241": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "242": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + "243": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "244": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "245": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "246": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "247": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "248": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "249": { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + "250": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "251": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + }, + "252": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "253": { + "body": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "a9059cbb", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "scope": 515, + "src": "2422:364:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "254": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "255": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "256": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "257": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "258": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "259": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "260": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "261": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "value": null, + "visibility": "internal" + }, + "262": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "263": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "264": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "265": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "266": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "267": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "268": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "269": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "270": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "271": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "272": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "273": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + }, + "274": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "275": { + "body": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 275, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "scope": 515, + "src": "2792:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "276": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "277": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "278": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "279": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "280": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "281": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "282": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "283": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "284": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "285": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + }, + "286": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "287": { + "body": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "scope": 515, + "src": "2967:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "288": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "289": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "290": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "291": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "292": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "293": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "294": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "295": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "296": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "297": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "298": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "299": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "300": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "301": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "302": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "303": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "304": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "305": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "306": { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + "307": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "308": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "309": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "310": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "311": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "312": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "313": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "314": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "315": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "316": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + "317": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "318": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "319": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "320": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "321": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "322": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "323": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + }, + "324": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "325": { + "body": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "bbda574c", + "id": 325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "scope": 515, + "src": "3059:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "326": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "327": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "value": null, + "visibility": "internal" + }, + "328": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "329": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "330": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "331": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "332": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "333": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "334": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "335": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "336": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "337": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "338": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "339": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "340": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "341": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "342": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + }, + "343": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "344": { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + "345": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "346": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + "347": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "348": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "349": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + }, + "350": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "351": { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + "352": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "353": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + "354": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "355": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "356": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + }, + "357": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + }, + "358": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "359": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "360": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + }, + "361": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "362": { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + }, + "363": { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + }, + "364": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "365": { + "body": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "aec5299f", + "id": 365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "scope": 515, + "src": "3297:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "366": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "367": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "368": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "369": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "370": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + "371": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "372": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + "373": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "374": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "375": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "376": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "377": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "378": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "379": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "380": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "381": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + }, + "382": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "383": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "384": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "385": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + }, + "386": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "387": { + "body": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "275e5da5", + "id": 387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "scope": 515, + "src": "3698:162:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + "388": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "389": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "390": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "391": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "392": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "393": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "394": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "395": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "396": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "397": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "398": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "399": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "400": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "401": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "402": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "403": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "404": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "405": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "406": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "407": { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + }, + "408": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + }, + "409": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "410": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "411": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "412": { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + }, + "413": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + }, + "414": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "415": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + "416": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "417": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "418": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "419": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + }, + "420": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "421": { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + "422": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "423": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "424": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "425": { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + "426": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "427": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "428": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "429": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "430": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "431": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + }, + "432": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "433": { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + "434": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "435": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "436": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "437": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "438": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "439": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + }, + "440": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "441": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "442": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "443": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "444": { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + "447": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "448": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "449": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + "450": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "451": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "452": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "453": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "454": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "455": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "456": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "457": { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + "458": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "459": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "460": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "461": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "462": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "463": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + "464": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "465": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "466": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "467": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "468": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + "469": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "470": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "471": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "472": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "473": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + }, + "474": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "475": { + "body": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "90dc1163", + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "scope": 515, + "src": "3866:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "476": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "477": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + "478": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "479": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "480": { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + }, + "481": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "482": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "483": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + "484": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "485": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "486": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "487": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "488": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "489": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "490": { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + "491": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "492": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "493": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + }, + "494": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "495": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + }, + "496": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "497": { + "body": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "d5b488b2", + "id": 497, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + } + ], + "name": "sendNothing", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "scope": 515, + "src": "4421:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "498": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "499": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "500": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "501": { + "body": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 501, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "scope": 515, + "src": "4575:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + "502": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "503": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "504": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "505": { + "body": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 505, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "scope": 515, + "src": "4610:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + "506": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "507": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "508": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "509": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "510": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "511": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "512": { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + }, + "513": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "514": { + "body": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "692103d0", + "id": 514, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "scope": 515, + "src": "4646:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "515": { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 123, + "nodeType": "InheritanceSpecifier", + "src": "1806:4:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "certora_contract_name": "Diamond", + "id": 125, + "nodeType": "InheritanceSpecifier", + "src": "1812:5:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 127, + "nodeType": "InheritanceSpecifier", + "src": "1819:6:0" + } + ], + "contractDependencies": [ + 17, + 97, + 109, + 121 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 515, + "linearizedBaseContracts": [ + 515, + 17, + 121, + 109, + 97 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "id": 130, + "libraryName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "nodeType": "UsingForDirective", + "src": "1832:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 134, + "mutability": "mutable", + "name": "accounts", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1864:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "history", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1913:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 139, + "mutability": "mutable", + "name": "phase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1945:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 162, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "scope": 515, + "src": "1970:153:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 108, + 120 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "5c36b186", + "id": 184, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "scope": 515, + "src": "2129:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 16 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "70a08231", + "id": 198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "scope": 515, + "src": "2298:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "a9059cbb", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "scope": 515, + "src": "2422:364:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 275, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "scope": 515, + "src": "2792:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "scope": 515, + "src": "2967:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "bbda574c", + "id": 325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "scope": 515, + "src": "3059:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "aec5299f", + "id": 365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "scope": 515, + "src": "3297:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "275e5da5", + "id": 387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "scope": 515, + "src": "3698:162:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "90dc1163", + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "scope": 515, + "src": "3866:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "d5b488b2", + "id": 497, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + } + ], + "name": "sendNothing", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "scope": 515, + "src": "4421:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 501, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "scope": 515, + "src": "4575:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 505, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "scope": 515, + "src": "4610:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "692103d0", + "id": 514, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "scope": 515, + "src": "4646:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 516, + "src": "1786:3832:0" + }, + "516": { + "absolutePath": "breadth_06.sol", + "exportedSymbols": { + "Base": [ + 97 + ], + "Diamond": [ + 515 + ], + "IToken": [ + 17 + ], + "Left": [ + 109 + ], + "MathLib": [ + 45 + ], + "Right": [ + 121 + ] + }, + "id": 516, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.6", + ".12", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "500:32:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 17, + "linearizedBaseContracts": [ + 17 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "certora_contract_name": "IToken", + "documentation": null, + "id": 9, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "src": "557:72:0" + }, + { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "functionSelector": "70a08231", + "id": 16, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "scope": 17, + "src": "635:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 516, + "src": "534:167:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 45, + "linearizedBaseContracts": [ + 45 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "condition": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 44, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "scope": 45, + "src": "725:154:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 516, + "src": "703:178:0" + }, + { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 97, + "linearizedBaseContracts": [ + 97 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 49, + "members": [ + { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "912:61:0" + }, + { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 54, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 97, + "src": "979:69:0", + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 57, + "mutability": "constant", + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1054:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 59, + "mutability": "immutable", + "name": "createdAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1095:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 61, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 97, + "src": "1135:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 65, + "name": "PhaseChanged", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "contractScope": null, + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "src": "1164:43:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 77, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "src": "1213:90:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 91, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "scope": 97, + "src": "1401:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "functionSelector": "5c36b186", + "id": 96, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "scope": 97, + "src": "1502:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "883:670:0" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "1572:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 109, + "linearizedBaseContracts": [ + 109, + 97 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "functionSelector": "5c36b186", + "id": 108, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "scope": 109, + "src": "1583:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1555:113:0" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Right", + "contractScope": null, + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Right", + "id": 111, + "nodeType": "InheritanceSpecifier", + "src": "1688:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 121, + "linearizedBaseContracts": [ + 121, + 97 + ], + "name": "Right", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "certora_contract_name": "Right", + "documentation": null, + "functionSelector": "5c36b186", + "id": 120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "scope": 121, + "src": "1699:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1670:114:0" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 123, + "nodeType": "InheritanceSpecifier", + "src": "1806:4:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "certora_contract_name": "Diamond", + "id": 125, + "nodeType": "InheritanceSpecifier", + "src": "1812:5:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 127, + "nodeType": "InheritanceSpecifier", + "src": "1819:6:0" + } + ], + "contractDependencies": [ + 17, + 97, + 109, + 121 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 515, + "linearizedBaseContracts": [ + 515, + 17, + 121, + 109, + 97 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "id": 130, + "libraryName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "nodeType": "UsingForDirective", + "src": "1832:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 134, + "mutability": "mutable", + "name": "accounts", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1864:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "history", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1913:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 139, + "mutability": "mutable", + "name": "phase", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 515, + "src": "1945:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 162, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "scope": 515, + "src": "1970:153:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 108, + 120 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "5c36b186", + "id": 184, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "scope": 515, + "src": "2129:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 16 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "70a08231", + "id": 198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "scope": 515, + "src": "2298:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "a9059cbb", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "scope": 515, + "src": "2422:364:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 275, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "scope": 515, + "src": "2792:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "scope": 515, + "src": "2967:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "bbda574c", + "id": 325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "scope": 515, + "src": "3059:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "aec5299f", + "id": 365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "scope": 515, + "src": "3297:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "275e5da5", + "id": 387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "scope": 515, + "src": "3698:162:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "90dc1163", + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "scope": 515, + "src": "3866:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "d5b488b2", + "id": 497, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + } + ], + "name": "sendNothing", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "scope": 515, + "src": "4421:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 501, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "scope": 515, + "src": "4575:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 505, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "scope": 515, + "src": "4610:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "functionSelector": "692103d0", + "id": 514, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "scope": 515, + "src": "4646:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 516, + "src": "1786:3832:0" + } + ], + "src": "500:5119:0" + } + } + } +} diff --git a/tests/fixtures/solidity_ast/solc_0_7_6.asts.json b/tests/fixtures/solidity_ast/solc_0_7_6.asts.json new file mode 100644 index 0000000..9da325e --- /dev/null +++ b/tests/fixtures/solidity_ast/solc_0_7_6.asts.json @@ -0,0 +1,46052 @@ +{ + "breadth_06.sol": { + "breadth_06.sol": { + "1": { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.6", + ".12", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "500:32:0" + }, + "2": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "3": { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "4": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "5": { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "6": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "7": { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "8": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "9": { + "anonymous": false, + "certora_contract_name": "IToken", + "id": 9, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "src": "557:72:0" + }, + "10": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "11": { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "12": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "13": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "14": { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "15": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "16": { + "certora_contract_name": "IToken", + "functionSelector": "70a08231", + "id": 16, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "scope": 17, + "src": "635:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "17": { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 17, + "linearizedBaseContracts": [ + 17 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "certora_contract_name": "IToken", + "id": 9, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "src": "557:72:0" + }, + { + "certora_contract_name": "IToken", + "functionSelector": "70a08231", + "id": 16, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "scope": 17, + "src": "635:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 516, + "src": "534:167:0" + }, + "18": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "19": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "20": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "21": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "22": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "23": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "24": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "25": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "26": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "27": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "28": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "29": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "30": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "31": { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + "32": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "33": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "34": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "35": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "36": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + }, + "37": { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + }, + "38": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "39": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "40": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "41": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "42": { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + }, + "43": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "44": { + "body": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "certora_contract_name": "MathLib", + "id": 44, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "scope": 45, + "src": "725:154:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "45": { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 45, + "linearizedBaseContracts": [ + 45 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "certora_contract_name": "MathLib", + "id": 44, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "scope": 45, + "src": "725:154:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 516, + "src": "703:178:0" + }, + "46": { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + "47": { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + "48": { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + }, + "49": { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 49, + "members": [ + { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "912:61:0" + }, + "50": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "51": { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "52": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "53": { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + "54": { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 54, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 97, + "src": "979:69:0", + "visibility": "public" + }, + "55": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "56": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "57": { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 57, + "mutability": "constant", + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1054:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + "58": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "59": { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 59, + "mutability": "immutable", + "name": "createdAt", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1095:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + "60": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "61": { + "certora_contract_name": "Base", + "constant": false, + "id": 61, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1135:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "62": { + "certora_contract_name": "Base", + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "63": { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + }, + "64": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "65": { + "anonymous": false, + "certora_contract_name": "Base", + "id": 65, + "name": "PhaseChanged", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "src": "1164:43:0" + }, + "66": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "67": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "68": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "69": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "70": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "71": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "72": { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + }, + "73": { + "arguments": [ + { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "74": { + "certora_contract_name": "Base", + "expression": { + "arguments": [ + { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + "75": { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + }, + "76": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "arguments": [ + { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "77": { + "body": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "arguments": [ + { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 77, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "src": "1213:90:0", + "virtual": false, + "visibility": "internal" + }, + "78": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "79": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "80": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "81": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "82": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "83": { + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "84": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + "85": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "86": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "87": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "88": { + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "89": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + }, + "90": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "91": { + "body": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 91, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "scope": 97, + "src": "1401:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + "92": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "93": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "94": { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "95": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "96": { + "certora_contract_name": "Base", + "functionSelector": "5c36b186", + "id": 96, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "scope": 97, + "src": "1502:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "97": { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "id": 97, + "linearizedBaseContracts": [ + 97 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 49, + "members": [ + { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "912:61:0" + }, + { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 54, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 97, + "src": "979:69:0", + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 57, + "mutability": "constant", + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1054:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 59, + "mutability": "immutable", + "name": "createdAt", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1095:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 61, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1135:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "id": 65, + "name": "PhaseChanged", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "src": "1164:43:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "arguments": [ + { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 77, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "src": "1213:90:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 91, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "scope": 97, + "src": "1401:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "functionSelector": "5c36b186", + "id": 96, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "scope": 97, + "src": "1502:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "883:670:0" + }, + "98": { + "certora_contract_name": "Left", + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "99": { + "baseName": { + "certora_contract_name": "Left", + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "1572:4:0" + }, + "100": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "101": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "102": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "103": { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "104": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "105": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "106": { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + }, + "107": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "108": { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "certora_contract_name": "Left", + "functionSelector": "5c36b186", + "id": 108, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "scope": 109, + "src": "1583:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "109": { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Left", + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "1572:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 109, + "linearizedBaseContracts": [ + 109, + 97 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "certora_contract_name": "Left", + "functionSelector": "5c36b186", + "id": 108, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "scope": 109, + "src": "1583:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1555:113:0" + }, + "110": { + "certora_contract_name": "Right", + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "111": { + "baseName": { + "certora_contract_name": "Right", + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Right", + "id": 111, + "nodeType": "InheritanceSpecifier", + "src": "1688:4:0" + }, + "112": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "113": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "114": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "115": { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "116": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "117": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "118": { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + }, + "119": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "120": { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "certora_contract_name": "Right", + "functionSelector": "5c36b186", + "id": 120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "scope": 121, + "src": "1699:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "121": { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Right", + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Right", + "id": 111, + "nodeType": "InheritanceSpecifier", + "src": "1688:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 121, + "linearizedBaseContracts": [ + 121, + 97 + ], + "name": "Right", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "certora_contract_name": "Right", + "functionSelector": "5c36b186", + "id": 120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "scope": 121, + "src": "1699:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1670:114:0" + }, + "122": { + "certora_contract_name": "Diamond", + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "123": { + "baseName": { + "certora_contract_name": "Diamond", + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 123, + "nodeType": "InheritanceSpecifier", + "src": "1806:4:0" + }, + "124": { + "certora_contract_name": "Diamond", + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "125": { + "baseName": { + "certora_contract_name": "Diamond", + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "certora_contract_name": "Diamond", + "id": 125, + "nodeType": "InheritanceSpecifier", + "src": "1812:5:0" + }, + "126": { + "certora_contract_name": "Diamond", + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "127": { + "baseName": { + "certora_contract_name": "Diamond", + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 127, + "nodeType": "InheritanceSpecifier", + "src": "1819:6:0" + }, + "128": { + "certora_contract_name": "Diamond", + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "129": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "130": { + "certora_contract_name": "Diamond", + "id": 130, + "libraryName": { + "certora_contract_name": "Diamond", + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "nodeType": "UsingForDirective", + "src": "1832:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "131": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "132": { + "certora_contract_name": "Diamond", + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "133": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "134": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 134, + "mutability": "mutable", + "name": "accounts", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1864:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "visibility": "public" + }, + "135": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "136": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "137": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "history", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1913:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + "138": { + "certora_contract_name": "Diamond", + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "139": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 139, + "mutability": "mutable", + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1945:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "public" + }, + "140": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "141": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "142": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "143": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "144": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "145": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "146": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "147": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "148": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "149": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "150": { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "151": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "152": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "153": { + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "154": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + "155": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "157": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "158": { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "159": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "160": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + }, + "161": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "162": { + "body": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 162, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "scope": 515, + "src": "1970:153:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "163": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "164": { + "certora_contract_name": "Diamond", + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "165": { + "certora_contract_name": "Diamond", + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "166": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "167": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "168": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "169": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "170": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "171": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "172": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "173": { + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "174": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + "175": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "176": { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "177": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "178": { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + "179": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "180": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "181": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "182": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + }, + "183": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "184": { + "baseFunctions": [ + 108, + 120 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "5c36b186", + "id": 184, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "scope": 515, + "src": "2129:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "185": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "186": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "187": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "188": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "189": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "190": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "191": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "192": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "193": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "194": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "195": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "196": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + }, + "197": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "198": { + "baseFunctions": [ + 16 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "70a08231", + "id": 198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "scope": 515, + "src": "2298:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "199": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "200": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "201": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "202": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "203": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "204": { + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "205": { + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + }, + "206": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "207": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + "208": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "209": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "210": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + }, + "211": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "212": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "213": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "214": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "215": { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + "216": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "217": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "218": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "219": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "220": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "221": { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + }, + "222": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "223": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + "224": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "226": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "227": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "228": { + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "229": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + "230": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "231": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "232": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "233": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "234": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "235": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "236": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "237": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "238": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "239": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "240": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "241": { + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "242": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + "243": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "244": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "245": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "246": { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "247": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "248": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "249": { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + "250": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "251": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + }, + "252": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "253": { + "body": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "a9059cbb", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "scope": 515, + "src": "2422:364:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "254": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "255": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "256": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "257": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "258": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "259": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "260": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "261": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + "262": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "263": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "264": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "265": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "266": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "267": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "268": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "269": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "270": { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "271": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "272": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "273": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + }, + "274": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "275": { + "body": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 275, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "scope": 515, + "src": "2792:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "276": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "277": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "278": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "279": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "280": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "281": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "282": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "283": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "284": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "285": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + }, + "286": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "287": { + "body": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "scope": 515, + "src": "2967:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "288": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "289": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "290": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "291": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "292": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "293": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "294": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "295": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "296": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "297": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "298": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "299": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "300": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "301": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "302": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "303": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "304": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "305": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "306": { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + "307": { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "308": { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "309": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "310": { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "311": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "312": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "313": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "314": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "315": { + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "316": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + "317": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "318": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "319": { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "320": { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "321": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "322": { + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "323": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + }, + "324": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "325": { + "body": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "bbda574c", + "id": 325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "scope": 515, + "src": "3059:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "326": { + "certora_contract_name": "Diamond", + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "327": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + "328": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "329": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "330": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "331": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "332": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "333": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "334": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "335": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "336": { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "337": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "338": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "339": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "340": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "341": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "342": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + }, + "343": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "344": { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + "345": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "346": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + "347": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "348": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "349": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + }, + "350": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "351": { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + "352": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "353": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + "354": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "355": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "356": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + }, + "357": { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "358": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "359": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "360": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + }, + "361": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "362": { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + }, + "363": { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + }, + "364": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "365": { + "body": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "aec5299f", + "id": 365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "scope": 515, + "src": "3297:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "366": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "367": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "368": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "369": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "370": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + "371": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "372": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + "373": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "374": { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "375": { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "376": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "377": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "378": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "379": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "380": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "381": { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + }, + "382": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "383": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "384": { + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "385": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + }, + "386": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "387": { + "body": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "275e5da5", + "id": 387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "scope": 515, + "src": "3698:162:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + "388": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "389": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "390": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "391": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "392": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "393": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "394": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "395": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "396": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "397": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "398": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "399": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "400": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "401": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "402": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "403": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "404": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "405": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "406": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "407": { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + }, + "408": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + }, + "409": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "410": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "411": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "412": { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + }, + "413": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + }, + "414": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "415": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + "416": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "417": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "418": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "419": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + }, + "420": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "421": { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + "422": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "423": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "424": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "425": { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + "426": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "427": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "428": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "429": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "430": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "431": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + }, + "432": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "433": { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + "434": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "435": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "436": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "437": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "438": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "439": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + }, + "440": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "441": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "442": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "443": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "444": { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + "447": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "448": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "449": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + "450": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "451": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "452": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "453": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "454": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "455": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "456": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "457": { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + "458": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "459": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "460": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "461": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "462": { + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "463": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + "464": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "465": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "466": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "467": { + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "468": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + "469": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "470": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "471": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "472": { + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "473": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + }, + "474": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "475": { + "body": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "90dc1163", + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "scope": 515, + "src": "3866:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "476": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "477": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + "478": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "479": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "480": { + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + }, + "481": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "482": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "483": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + "484": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "485": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "486": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "487": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "488": { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "489": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "490": { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + "491": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "492": { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "493": { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + }, + "494": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "495": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + }, + "496": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "497": { + "body": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "d5b488b2", + "id": 497, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + } + ], + "name": "sendNothing", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "scope": 515, + "src": "4421:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "498": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "499": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "500": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "501": { + "body": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 501, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "scope": 515, + "src": "4575:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + "502": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "503": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "504": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "505": { + "body": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 505, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "scope": 515, + "src": "4610:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + "506": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "507": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "508": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "509": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "510": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "511": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "512": { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + }, + "513": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "514": { + "body": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "692103d0", + "id": 514, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "scope": 515, + "src": "4646:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "515": { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 123, + "nodeType": "InheritanceSpecifier", + "src": "1806:4:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "certora_contract_name": "Diamond", + "id": 125, + "nodeType": "InheritanceSpecifier", + "src": "1812:5:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 127, + "nodeType": "InheritanceSpecifier", + "src": "1819:6:0" + } + ], + "contractDependencies": [ + 17, + 97, + 109, + 121 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 515, + "linearizedBaseContracts": [ + 515, + 17, + 121, + 109, + 97 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "id": 130, + "libraryName": { + "certora_contract_name": "Diamond", + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "nodeType": "UsingForDirective", + "src": "1832:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 134, + "mutability": "mutable", + "name": "accounts", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1864:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "history", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1913:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 139, + "mutability": "mutable", + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1945:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 162, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "scope": 515, + "src": "1970:153:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 108, + 120 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "5c36b186", + "id": 184, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "scope": 515, + "src": "2129:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 16 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "70a08231", + "id": 198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "scope": 515, + "src": "2298:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "a9059cbb", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "scope": 515, + "src": "2422:364:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 275, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "scope": 515, + "src": "2792:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "scope": 515, + "src": "2967:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "bbda574c", + "id": 325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "scope": 515, + "src": "3059:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "aec5299f", + "id": 365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "scope": 515, + "src": "3297:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "275e5da5", + "id": 387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "scope": 515, + "src": "3698:162:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "90dc1163", + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "scope": 515, + "src": "3866:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "d5b488b2", + "id": 497, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + } + ], + "name": "sendNothing", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "scope": 515, + "src": "4421:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 501, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "scope": 515, + "src": "4575:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 505, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "scope": 515, + "src": "4610:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "692103d0", + "id": 514, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "scope": 515, + "src": "4646:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 516, + "src": "1786:3832:0" + }, + "516": { + "absolutePath": "breadth_06.sol", + "exportedSymbols": { + "Base": [ + 97 + ], + "Diamond": [ + 515 + ], + "IToken": [ + 17 + ], + "Left": [ + 109 + ], + "MathLib": [ + 45 + ], + "Right": [ + 121 + ] + }, + "id": 516, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.6", + ".12", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "500:32:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 17, + "linearizedBaseContracts": [ + 17 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "certora_contract_name": "IToken", + "id": 9, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 3, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "572:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "594:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "594:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "614:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "571:57:0" + }, + "src": "557:72:0" + }, + { + "certora_contract_name": "IToken", + "functionSelector": "70a08231", + "id": 16, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "654:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "653:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 14, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "690:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "689:9:0" + }, + "scope": 17, + "src": "635:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 516, + "src": "534:167:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 45, + "linearizedBaseContracts": [ + 45 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 43, + "nodeType": "Block", + "src": "799:80:0", + "statements": [ + { + "assignments": [ + 27 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "809:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "809:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 28, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "821:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 29, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "825:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "821:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "809:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 32, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "843:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 33, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "847:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 40, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 35, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "851:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "851:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "851:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25, + "id": 42, + "nodeType": "Return", + "src": "836:36:0" + } + ] + }, + "certora_contract_name": "MathLib", + "id": 44, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 19, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "745:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "756:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "756:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "744:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 44, + "src": "790:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "790:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "789:9:0" + }, + "scope": 45, + "src": "725:154:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 516, + "src": "703:178:0" + }, + { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "id": 97, + "linearizedBaseContracts": [ + 97 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 49, + "members": [ + { + "certora_contract_name": "Base", + "id": 46, + "name": "Init", + "nodeType": "EnumValue", + "src": "933:4:0" + }, + { + "certora_contract_name": "Base", + "id": 47, + "name": "Active", + "nodeType": "EnumValue", + "src": "947:6:0" + }, + { + "certora_contract_name": "Base", + "id": 48, + "name": "Done", + "nodeType": "EnumValue", + "src": "963:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "912:61:0" + }, + { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 54, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1004:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 50, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1004:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1029:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 52, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1029:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 97, + "src": "979:69:0", + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 57, + "mutability": "constant", + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1054:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 59, + "mutability": "immutable", + "name": "createdAt", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1095:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 58, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 61, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 97, + "src": "1135:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 60, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "id": 65, + "name": "PhaseChanged", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 63, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1183:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 62, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1183:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1182:24:0" + }, + "src": "1164:43:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 76, + "nodeType": "Block", + "src": "1234:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "arguments": [ + { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 68, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1252:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 69, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1252:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Base", + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1266:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1252:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:11:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 67, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1244:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:41:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "ExpressionStatement", + "src": "1244:41:0" + }, + { + "certora_contract_name": "Base", + "id": 75, + "nodeType": "PlaceholderStatement", + "src": "1295:1:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 77, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [], + "src": "1231:2:0" + }, + "src": "1213:90:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 90, + "nodeType": "Block", + "src": "1424:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 80, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1434:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 81, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1446:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1446:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1434:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "1434:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 85, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1471:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 86, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1479:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1479:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1471:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "1471:18:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 91, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:0" + }, + "scope": 97, + "src": "1401:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "functionSelector": "5c36b186", + "id": 96, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 92, + "nodeType": "ParameterList", + "parameters": [], + "src": "1515:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "1542:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 93, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1541:9:0" + }, + "scope": 97, + "src": "1502:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "883:670:0" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Left", + "id": 98, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1572:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "1572:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 109, + "linearizedBaseContracts": [ + 109, + 97 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Left", + "id": 107, + "nodeType": "Block", + "src": "1641:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1658:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 104, + "id": 106, + "nodeType": "Return", + "src": "1651:8:0" + } + ] + }, + "certora_contract_name": "Left", + "functionSelector": "5c36b186", + "id": 108, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 101, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1614:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1596:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 108, + "src": "1632:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1632:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1631:9:0" + }, + "scope": 109, + "src": "1583:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1555:113:0" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Right", + "id": 110, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 97, + "src": "1688:4:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_contract$_Base_$97", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Right", + "id": 111, + "nodeType": "InheritanceSpecifier", + "src": "1688:4:0" + } + ], + "contractDependencies": [ + 97 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 121, + "linearizedBaseContracts": [ + 121, + 97 + ], + "name": "Right", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 96 + ], + "body": { + "certora_contract_name": "Right", + "id": 119, + "nodeType": "Block", + "src": "1757:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 116, + "id": 118, + "nodeType": "Return", + "src": "1767:8:0" + } + ] + }, + "certora_contract_name": "Right", + "functionSelector": "5c36b186", + "id": 120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 113, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1730:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1712:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 116, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 120, + "src": "1748:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1748:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1747:9:0" + }, + "scope": 121, + "src": "1699:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 516, + "src": "1670:114:0" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 122, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "1806:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 123, + "nodeType": "InheritanceSpecifier", + "src": "1806:4:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 124, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "1812:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + }, + "certora_contract_name": "Diamond", + "id": 125, + "nodeType": "InheritanceSpecifier", + "src": "1812:5:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 126, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "1819:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 127, + "nodeType": "InheritanceSpecifier", + "src": "1819:6:0" + } + ], + "contractDependencies": [ + 17, + 97, + 109, + 121 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 515, + "linearizedBaseContracts": [ + 515, + 17, + 121, + 109, + 97 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "id": 130, + "libraryName": { + "certora_contract_name": "Diamond", + "id": 128, + "name": "MathLib", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 45, + "src": "1838:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_MathLib_$45", + "typeString": "library MathLib" + } + }, + "nodeType": "UsingForDirective", + "src": "1832:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 134, + "mutability": "mutable", + "name": "accounts", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1864:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 133, + "keyType": { + "certora_contract_name": "Diamond", + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1864:27:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueType": { + "certora_contract_name": "Diamond", + "id": 132, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1883:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "history", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1913:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 136, + "nodeType": "ArrayTypeName", + "src": "1913:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 139, + "mutability": "mutable", + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "1945:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 138, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 49, + "src": "1945:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 161, + "nodeType": "Block", + "src": "2022:101:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 146, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2032:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 148, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 147, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "2041:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2032:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 150, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2072:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2085:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 149, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2054:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2054:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2032:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "2032:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 158, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2111:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 155, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2098:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2098:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2098:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 160, + "nodeType": "ExpressionStatement", + "src": "2098:18:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 162, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "firstUser", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1982:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1982:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "seed", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "2001:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1981:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:0" + }, + "scope": 515, + "src": "1970:153:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 108, + 120 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 183, + "nodeType": "Block", + "src": "2192:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 170, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2202:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 171, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "2210:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Active", + "nodeType": "MemberAccess", + "src": "2210:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "src": "2202:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "2202:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 176, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "2250:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$49", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 175, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2237:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2237:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "EmitStatement", + "src": "2232:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 179, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2273:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_super$_Diamond_$515", + "typeString": "contract super Diamond" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 120, + "src": "2273:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 169, + "id": 182, + "nodeType": "Return", + "src": "2266:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "5c36b186", + "id": 184, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 164, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 109, + "src": "2161:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$109", + "typeString": "contract Left" + } + }, + { + "certora_contract_name": "Diamond", + "id": 165, + "name": "Right", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 121, + "src": "2167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Right_$121", + "typeString": "contract Right" + } + } + ], + "src": "2152:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2142:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "2183:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2182:9:0" + }, + "scope": 515, + "src": "2129:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 16 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 197, + "nodeType": "Block", + "src": "2371:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 192, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2388:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 194, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 193, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2397:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2388:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2388:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "2381:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "70a08231", + "id": 198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2344:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 187, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 186, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2317:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2316:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "2362:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2362:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2361:9:0" + }, + "scope": 515, + "src": "2298:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 252, + "nodeType": "Block", + "src": "2501:285:0", + "statements": [ + { + "assignments": [ + 210 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2511:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "2511:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 215, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2534:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 214, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2543:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2543:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2534:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2511:43:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 217, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2572:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2572:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2588:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2572:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "696e73756666696369656e74", + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2595:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + }, + "value": "insufficient" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", + "typeString": "literal_string \"insufficient\"" + } + ], + "certora_contract_name": "Diamond", + "id": 216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2564:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:46:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 223, + "nodeType": "ExpressionStatement", + "src": "2564:46:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 224, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2620:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2620:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 227, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2636:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2620:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "2620:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 230, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2651:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 232, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 231, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2660:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2651:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2651:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 239, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2706:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "2674:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 236, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 235, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2683:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2674:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$54_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 51, + "src": "2674:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "2674:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2674:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2651:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2651:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 244, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2736:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2736:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "certora_contract_name": "Diamond", + "id": 246, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "2748:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2752:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 243, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2727:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2727:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "EmitStatement", + "src": "2722:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2775:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 208, + "id": 251, + "nodeType": "Return", + "src": "2768:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "a9059cbb", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 205, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 204, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2476:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2476:9:0" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2440:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2452:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2452:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "2495:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2495:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2494:6:0" + }, + "scope": 515, + "src": "2422:364:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "Block", + "src": "2930:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 263, + "src": "2951:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 269, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2949:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2949:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 268, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 261, + "src": "2947:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2947:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 267, + "id": 273, + "nodeType": "Return", + "src": "2940:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 275, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 261, + "mutability": "mutable", + "name": "f", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2821:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 260, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2830:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2830:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2829:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 259, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 260, + "src": "2862:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:9:0" + }, + "src": "2821:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2882:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2882:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2811:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 275, + "src": "2921:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2920:9:0" + }, + "scope": 515, + "src": "2792:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 286, + "nodeType": "Block", + "src": "3024:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 282, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3041:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3045:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3041:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 281, + "id": 285, + "nodeType": "Return", + "src": "3034:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2981:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2980:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 281, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "3015:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3015:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3014:9:0" + }, + "scope": 515, + "src": "2967:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 324, + "nodeType": "Block", + "src": "3183:108:0", + "statements": [ + { + "assignments": [ + 299 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "m", + "nodeType": "VariableDeclaration", + "scope": 324, + "src": "3193:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 306, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 300, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3205:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 301, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3209:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3205:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3217:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3205:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 303, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3213:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3193:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 307, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3229:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 308, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "3233:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 309, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3228:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "3240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "3243:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 312, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3247:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3243:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 314, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3239:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3228:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3228:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3259:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 319, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "3275:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 320, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3281:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 318, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 275, + "src": "3264:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 323, + "nodeType": "ExpressionStatement", + "src": "3259:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "bbda574c", + "id": 325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3088:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3088:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3099:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3087:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3155:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "3167:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:24:0" + }, + "scope": 515, + "src": "3059:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 364, + "nodeType": "Block", + "src": "3377:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 343, + "nodeType": "Block", + "src": "3436:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "3457:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 342, + "nodeType": "Return", + "src": "3450:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 344, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 344, + "src": "3421:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3420:15:0" + }, + "src": "3412:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 350, + "nodeType": "Block", + "src": "3501:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 333, + "id": 349, + "nodeType": "Return", + "src": "3515:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 351, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "3486:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3486:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3485:15:0" + }, + "src": "3474:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 361, + "nodeType": "Block", + "src": "3556:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3582:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 355, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3577:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3577:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3577:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 333, + "id": 360, + "nodeType": "Return", + "src": "3570:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 362, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "3542:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 352, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3542:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3541:14:0" + }, + "src": "3535:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 336, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "3407:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "3391:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3391:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3391:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 363, + "nodeType": "TryStatement", + "src": "3387:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "aec5299f", + "id": 365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3318:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 326, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "3318:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$17", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3332:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3317:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "3368:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3367:9:0" + }, + "scope": 515, + "src": "3297:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 386, + "nodeType": "Block", + "src": "3778:82:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 374, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3789:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "id": 375, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 372, + "src": "3793:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3788:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "70696e672829", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + }, + "value": "ping()" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", + "typeString": "literal_string \"ping()\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3819:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3819:23:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3801:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3801:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3801:52:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3788:65:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 385, + "nodeType": "ExpressionStatement", + "src": "3788:65:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "275e5da5", + "id": 387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 368, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3713:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3712:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3750:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3750:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 372, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "3759:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 371, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3759:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3749:28:0" + }, + "scope": 515, + "src": "3698:162:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 474, + "nodeType": "Block", + "src": "3932:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 420, + "nodeType": "Block", + "src": "3974:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3992:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "3992:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4051:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4051:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "4047:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 413, + "nodeType": "Block", + "src": "4058:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 412, + "nodeType": "Break", + "src": "4076:5:0" + } + ] + } + }, + "id": 415, + "nodeType": "IfStatement", + "src": "3988:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 408, + "nodeType": "Block", + "src": "4000:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "nodeType": "Continue", + "src": "4018:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4109:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "4116:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4109:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 419, + "nodeType": "ExpressionStatement", + "src": "4109:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3966:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3962:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "initializationExpression": { + "assignments": [ + 395 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "3947:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 397, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3959:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3947:13:0" + }, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3969:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 401, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "3969:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3969:3:0" + }, + "nodeType": "ForStatement", + "src": "3942:186:0" + }, + { + "assignments": [ + 423 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4137:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4137:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 425, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4149:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4137:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 432, + "nodeType": "Block", + "src": "4174:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4188:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 429, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4188:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 431, + "nodeType": "ExpressionStatement", + "src": "4188:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 426, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4167:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4171:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 433, + "nodeType": "WhileStatement", + "src": "4160:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 440, + "nodeType": "Block", + "src": "4214:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 434, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4228:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4234:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4240:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4234:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "4228:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4260:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 442, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4266:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4260:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 444, + "nodeType": "DoWhileStatement", + "src": "4211:58:0" + }, + { + "assignments": [ + 449 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "scratch", + "nodeType": "VariableDeclaration", + "scope": 474, + "src": "4278:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4278:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 448, + "nodeType": "ArrayTypeName", + "src": "4278:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 457, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 453, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4319:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4323:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4319:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4305:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4309:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 451, + "nodeType": "ArrayTypeName", + "src": "4309:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4305:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4278:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 458, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4335:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 460, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4343:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4335:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 461, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4348:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4335:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "4335:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4361:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 464, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4368:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 466, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4368:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 468, + "nodeType": "ExpressionStatement", + "src": "4361:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4388:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 470, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "4394:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4394:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 473, + "nodeType": "ExpressionStatement", + "src": "4388:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "90dc1163", + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3887:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3887:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3886:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "3919:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3918:13:0" + }, + "scope": 515, + "src": "3866:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 496, + "nodeType": "Block", + "src": "4481:88:0", + "statements": [ + { + "assignments": [ + 483, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 496, + "src": "4492:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4492:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 490, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 484, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4505:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4505:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "4505:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4491:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 492, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "4544:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4536:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "4536:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "d5b488b2", + "id": 497, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 480, + "modifierName": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "4471:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4471:9:0" + } + ], + "name": "sendNothing", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 497, + "src": "4442:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4442:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "4441:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:0:0" + }, + "scope": 515, + "src": "4421:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 500, + "nodeType": "Block", + "src": "4602:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 501, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 498, + "nodeType": "ParameterList", + "parameters": [], + "src": "4582:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "ParameterList", + "parameters": [], + "src": "4602:0:0" + }, + "scope": 515, + "src": "4575:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 504, + "nodeType": "Block", + "src": "4638:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 505, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:0" + }, + "scope": 515, + "src": "4610:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 513, + "nodeType": "Block", + "src": "4707:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nodeType": "YulBlock", + "src": "4726:884:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4764:121:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4795:45:0", + "statements": [ + { + "nodeType": "YulLeave", + "src": "4817:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4792:1:0" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4785:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "4785:9:0" + }, + "nodeType": "YulIf", + "src": "4782:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "4857:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nodeType": "YulIdentifier", + "src": "4866:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4869:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4862:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "4862:9:0" + }, + "variableNames": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "4857:1:0" + } + ] + } + ] + }, + "name": "double", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nodeType": "YulTypedName", + "src": "4756:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nodeType": "YulTypedName", + "src": "4762:1:0", + "type": "" + } + ], + "src": "4740:145:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4898:12:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nodeType": "YulTypedName", + "src": "4902:3:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:210:0", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5056:48:0", + "statements": [ + { + "nodeType": "YulContinue", + "src": "5078:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5050:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5047:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5047:8:0" + }, + "nodeType": "YulIf", + "src": "5044:2:0" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5134:45:0", + "statements": [ + { + "nodeType": "YulBreak", + "src": "5156:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5124:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5124:9:0" + }, + "nodeType": "YulIf", + "src": "5121:2:0" + }, + { + "nodeType": "YulAssignment", + "src": "5196:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5207:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5219:1:0" + } + ], + "functionName": { + "name": "double", + "nodeType": "YulIdentifier", + "src": "5212:6:0" + }, + "nodeType": "YulFunctionCall", + "src": "5212:9:0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5203:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5203:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5196:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4973:1:0" + }, + { + "name": "n", + "nodeType": "YulIdentifier", + "src": "4976:1:0" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4970:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "4970:8:0" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4979:46:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5006:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5009:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5002:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5002:9:0" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4997:1:0" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4927:42:0", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4945:10:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4954:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4949:1:0", + "type": "" + } + ] + } + ] + }, + "src": "4923:313:0" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5287:40:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5305:8:0", + "value": { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5310:3:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5305:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5280:47:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5285:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5347:48:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5365:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5374:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5370:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5370:11:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5365:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5340:55:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5345:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5416:38:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5434:6:0", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5434:1:0" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "5408:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nodeType": "YulIdentifier", + "src": "5260:3:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5265:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5256:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5256:11:0" + }, + "nodeType": "YulSwitch", + "src": "5249:205:0" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5467:16:0", + "value": { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5478:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nodeType": "YulTypedName", + "src": "5471:3:0", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5496:16:0", + "value": { + "kind": "bool", + "nodeType": "YulLiteral", + "src": "5508:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nodeType": "YulTypedName", + "src": "5500:4:0", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5551:49:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5569:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5579:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nodeType": "YulIdentifier", + "src": "5582:3:0" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "5574:4:0" + }, + "nodeType": "YulFunctionCall", + "src": "5574:12:0" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5569:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nodeType": "YulIdentifier", + "src": "5532:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5541:1:0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5538:2:0" + }, + "nodeType": "YulFunctionCall", + "src": "5538:11:0" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5528:3:0" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:0" + }, + "nodeType": "YulIf", + "src": "5525:2:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 507, + "isOffset": false, + "isSlot": false, + "src": "4976:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5305:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5365:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5434:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5541:1:0", + "valueSize": 1 + }, + { + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "5569:1:0", + "valueSize": 1 + } + ], + "id": 512, + "nodeType": "InlineAssembly", + "src": "4717:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "692103d0", + "id": 514, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 507, + "mutability": "mutable", + "name": "n", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4664:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4663:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "4696:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4696:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4695:11:0" + }, + "scope": 515, + "src": "4646:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 516, + "src": "1786:3832:0" + } + ], + "src": "500:5119:0" + } + } + } +} diff --git a/tests/fixtures/solidity_ast/solc_0_8_30.asts.json b/tests/fixtures/solidity_ast/solc_0_8_30.asts.json new file mode 100644 index 0000000..7238d88 --- /dev/null +++ b/tests/fixtures/solidity_ast/solc_0_8_30.asts.json @@ -0,0 +1,58914 @@ +{ + "breadth_08.sol": { + "breadth_08.sol": { + "1": { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "384:24:0" + }, + "2": { + "id": 2, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "424:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "3": { + "canonicalName": "Price", + "id": 3, + "name": "Price", + "nameLocation": "415:5:0", + "nodeType": "UserDefinedValueTypeDefinition", + "src": "410:22:0", + "underlyingType": { + "id": 2, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "424:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + }, + "4": { + "id": 4, + "name": "Price", + "nameLocations": [ + "452:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "452:5:0" + }, + "5": { + "id": 5, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4, + "name": "Price", + "nameLocations": [ + "452:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "452:5:0" + }, + "referencedDeclaration": 3, + "src": "452:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "6": { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "a", + "nameLocation": "458:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "452:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 5, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4, + "name": "Price", + "nameLocations": [ + "452:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "452:5:0" + }, + "referencedDeclaration": 3, + "src": "452:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "7": { + "id": 7, + "name": "Price", + "nameLocations": [ + "461:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "461:5:0" + }, + "8": { + "id": 8, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7, + "name": "Price", + "nameLocations": [ + "461:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "461:5:0" + }, + "referencedDeclaration": 3, + "src": "461:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "9": { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "b", + "nameLocation": "467:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "461:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 8, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7, + "name": "Price", + "nameLocations": [ + "461:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "461:5:0" + }, + "referencedDeclaration": 3, + "src": "461:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "10": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "a", + "nameLocation": "458:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "452:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 5, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4, + "name": "Price", + "nameLocations": [ + "452:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "452:5:0" + }, + "referencedDeclaration": 3, + "src": "452:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "b", + "nameLocation": "467:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "461:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 8, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7, + "name": "Price", + "nameLocations": [ + "461:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "461:5:0" + }, + "referencedDeclaration": 3, + "src": "461:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "451:18:0" + }, + "11": { + "id": 11, + "name": "Price", + "nameLocations": [ + "484:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "484:5:0" + }, + "12": { + "id": 12, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11, + "name": "Price", + "nameLocations": [ + "484:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "484:5:0" + }, + "referencedDeclaration": 3, + "src": "484:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "13": { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "484:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 12, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11, + "name": "Price", + "nameLocations": [ + "484:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "484:5:0" + }, + "referencedDeclaration": 3, + "src": "484:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "14": { + "id": 14, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "484:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 12, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11, + "name": "Price", + "nameLocations": [ + "484:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "484:5:0" + }, + "referencedDeclaration": 3, + "src": "484:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "483:7:0" + }, + "15": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "16": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "expression": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "510:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "504:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "17": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "18": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "19": { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "20": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "21": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "22": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "23": { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "24": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "25": { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "515:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "26": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "515:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "expression": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "510:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "504:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "504:45:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "27": { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "515:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "expression": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "510:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "504:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "504:45:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 14, + "id": 27, + "nodeType": "Return", + "src": "497:52:0" + }, + "28": { + "id": 28, + "nodeType": "Block", + "src": "491:61:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "515:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "expression": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "510:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "504:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "504:45:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 14, + "id": 27, + "nodeType": "Return", + "src": "497:52:0" + } + ] + }, + "29": { + "body": { + "id": 28, + "nodeType": "Block", + "src": "491:61:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "515:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "expression": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "510:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "504:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "504:45:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 14, + "id": 27, + "nodeType": "Return", + "src": "497:52:0" + } + ] + }, + "id": 29, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "addPrice", + "nameLocation": "443:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "a", + "nameLocation": "458:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "452:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 5, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4, + "name": "Price", + "nameLocations": [ + "452:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "452:5:0" + }, + "referencedDeclaration": 3, + "src": "452:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "b", + "nameLocation": "467:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "461:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 8, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7, + "name": "Price", + "nameLocations": [ + "461:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "461:5:0" + }, + "referencedDeclaration": 3, + "src": "461:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "451:18:0" + }, + "returnParameters": { + "id": 14, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "484:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 12, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11, + "name": "Price", + "nameLocations": [ + "484:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "484:5:0" + }, + "referencedDeclaration": 3, + "src": "484:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "483:7:0" + }, + "scope": 669, + "src": "434:118:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "30": { + "id": 30, + "name": "Price", + "nameLocations": [ + "571:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "571:5:0" + }, + "31": { + "id": 31, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30, + "name": "Price", + "nameLocations": [ + "571:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "571:5:0" + }, + "referencedDeclaration": 3, + "src": "571:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "32": { + "constant": false, + "id": 32, + "mutability": "mutable", + "name": "a", + "nameLocation": "577:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "571:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 31, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30, + "name": "Price", + "nameLocations": [ + "571:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "571:5:0" + }, + "referencedDeclaration": 3, + "src": "571:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "33": { + "id": 33, + "name": "Price", + "nameLocations": [ + "580:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "580:5:0" + }, + "34": { + "id": 34, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33, + "name": "Price", + "nameLocations": [ + "580:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "580:5:0" + }, + "referencedDeclaration": 3, + "src": "580:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "35": { + "constant": false, + "id": 35, + "mutability": "mutable", + "name": "b", + "nameLocation": "586:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "580:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 34, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33, + "name": "Price", + "nameLocations": [ + "580:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "580:5:0" + }, + "referencedDeclaration": 3, + "src": "580:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "36": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32, + "mutability": "mutable", + "name": "a", + "nameLocation": "577:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "571:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 31, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30, + "name": "Price", + "nameLocations": [ + "571:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "571:5:0" + }, + "referencedDeclaration": 3, + "src": "571:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35, + "mutability": "mutable", + "name": "b", + "nameLocation": "586:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "580:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 34, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33, + "name": "Price", + "nameLocations": [ + "580:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "580:5:0" + }, + "referencedDeclaration": 3, + "src": "580:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "570:18:0" + }, + "37": { + "id": 37, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "603:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "38": { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "603:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 37, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "603:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + "39": { + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "603:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 37, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "603:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "602:6:0" + }, + "40": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "41": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "42": { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "43": { + "arguments": [ + { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "622:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "44": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "45": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "46": { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "47": { + "arguments": [ + { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "48": { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "622:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "622:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "49": { + "expression": { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "622:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "622:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 39, + "id": 49, + "nodeType": "Return", + "src": "615:41:0" + }, + "50": { + "id": 50, + "nodeType": "Block", + "src": "609:50:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "622:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "622:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 39, + "id": 49, + "nodeType": "Return", + "src": "615:41:0" + } + ] + }, + "51": { + "body": { + "id": 50, + "nodeType": "Block", + "src": "609:50:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "622:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "622:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 39, + "id": 49, + "nodeType": "Return", + "src": "615:41:0" + } + ] + }, + "id": 51, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "eqPrice", + "nameLocation": "563:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32, + "mutability": "mutable", + "name": "a", + "nameLocation": "577:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "571:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 31, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30, + "name": "Price", + "nameLocations": [ + "571:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "571:5:0" + }, + "referencedDeclaration": 3, + "src": "571:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35, + "mutability": "mutable", + "name": "b", + "nameLocation": "586:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "580:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 34, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33, + "name": "Price", + "nameLocations": [ + "580:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "580:5:0" + }, + "referencedDeclaration": 3, + "src": "580:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "570:18:0" + }, + "returnParameters": { + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "603:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 37, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "603:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "602:6:0" + }, + "scope": 669, + "src": "554:105:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "54": { + "id": 54, + "name": "Price", + "nameLocations": [ + "702:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "702:5:0" + }, + "55": { + "id": 55, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54, + "name": "Price", + "nameLocations": [ + "702:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "702:5:0" + }, + "referencedDeclaration": 3, + "src": "702:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "56": { + "functionList": [ + { + "definition": { + "id": 52, + "name": "addPrice", + "nameLocations": [ + "668:8:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29, + "src": "668:8:0" + }, + "operator": "+" + }, + { + "definition": { + "id": 53, + "name": "eqPrice", + "nameLocations": [ + "683:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51, + "src": "683:7:0" + }, + "operator": "==" + } + ], + "global": true, + "id": 56, + "nodeType": "UsingForDirective", + "src": "661:54:0", + "typeName": { + "id": 55, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54, + "name": "Price", + "nameLocations": [ + "702:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "702:5:0" + }, + "referencedDeclaration": 3, + "src": "702:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + }, + "57": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "58": { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "who", + "nameLocation": "744:3:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "736:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "59": { + "id": 59, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "who", + "nameLocation": "744:3:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "736:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "735:13:0" + }, + "60": { + "errorSelector": "8e4a23d6", + "id": 60, + "name": "Unauthorized", + "nameLocation": "723:12:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 59, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "who", + "nameLocation": "744:3:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "736:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "735:13:0" + }, + "src": "717:32:0" + }, + "61": { + "id": 61, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "769:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "62": { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "requested", + "nameLocation": "777:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "769:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 61, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "769:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "63": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "64": { + "constant": false, + "id": 64, + "mutability": "mutable", + "name": "available", + "nameLocation": "796:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "788:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "65": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "requested", + "nameLocation": "777:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "769:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 61, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "769:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "mutability": "mutable", + "name": "available", + "nameLocation": "796:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "788:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "768:38:0" + }, + "66": { + "errorSelector": "e8620800", + "id": 66, + "name": "Insufficient", + "nameLocation": "756:12:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "requested", + "nameLocation": "777:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "769:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 61, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "769:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "mutability": "mutable", + "name": "available", + "nameLocation": "796:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "788:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "768:38:0" + }, + "src": "750:57:0" + }, + "67": { + "id": 67, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "68": { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "x", + "nameLocation": "850:1:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "842:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "69": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "70": { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "limit", + "nameLocation": "861:5:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "853:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "71": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "x", + "nameLocation": "850:1:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "842:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "limit", + "nameLocation": "861:5:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "853:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "841:26:0" + }, + "72": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "882:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "73": { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "882:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "882:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "74": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "882:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "882:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "881:9:0" + }, + "75": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "76": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "77": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "904:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "78": { + "id": 78, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "916:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "79": { + "id": 79, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "80": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "904:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 79, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "904:21:0", + "trueExpression": { + "id": 78, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "916:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "81": { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "904:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 79, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "904:21:0", + "trueExpression": { + "id": 78, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "916:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 74, + "id": 81, + "nodeType": "Return", + "src": "897:28:0" + }, + "82": { + "id": 82, + "nodeType": "Block", + "src": "891:37:0", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "904:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 79, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "904:21:0", + "trueExpression": { + "id": 78, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "916:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 74, + "id": 81, + "nodeType": "Return", + "src": "897:28:0" + } + ] + }, + "83": { + "body": { + "id": 82, + "nodeType": "Block", + "src": "891:37:0", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "904:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 79, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "904:21:0", + "trueExpression": { + "id": 78, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "916:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 74, + "id": 81, + "nodeType": "Return", + "src": "897:28:0" + } + ] + }, + "id": 83, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "clamp", + "nameLocation": "836:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "x", + "nameLocation": "850:1:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "842:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "limit", + "nameLocation": "861:5:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "853:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "841:26:0" + }, + "returnParameters": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "882:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "882:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "881:9:0" + }, + "scope": 669, + "src": "827:101:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "84": { + "certora_contract_name": "IToken", + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "968:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "85": { + "certora_contract_name": "IToken", + "constant": false, + "id": 85, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "984:4:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "968:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "968:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "86": { + "certora_contract_name": "IToken", + "id": 86, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "87": { + "certora_contract_name": "IToken", + "constant": false, + "id": 87, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1006:2:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "990:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 86, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "88": { + "certora_contract_name": "IToken", + "id": 88, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "89": { + "certora_contract_name": "IToken", + "constant": false, + "id": 89, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1018:5:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1010:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 88, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "90": { + "certora_contract_name": "IToken", + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 85, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "984:4:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "968:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "968:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 87, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1006:2:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "990:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 86, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 89, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1018:5:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1010:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 88, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "967:57:0" + }, + "91": { + "anonymous": false, + "certora_contract_name": "IToken", + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 91, + "name": "Transfer", + "nameLocation": "959:8:0", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 85, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "984:4:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "968:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "968:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 87, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1006:2:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "990:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 86, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 89, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1018:5:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1010:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 88, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "967:57:0" + }, + "src": "953:72:0" + }, + "92": { + "certora_contract_name": "IToken", + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1050:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "93": { + "certora_contract_name": "IToken", + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "who", + "nameLocation": "1058:3:0", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1050:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1050:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "94": { + "certora_contract_name": "IToken", + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "who", + "nameLocation": "1058:3:0", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1050:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1050:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1049:13:0" + }, + "95": { + "certora_contract_name": "IToken", + "id": 95, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1086:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "96": { + "certora_contract_name": "IToken", + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1086:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 95, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1086:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "97": { + "certora_contract_name": "IToken", + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1086:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 95, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1086:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1085:9:0" + }, + "98": { + "certora_contract_name": "IToken", + "functionSelector": "70a08231", + "id": 98, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1040:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "who", + "nameLocation": "1058:3:0", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1050:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1050:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1049:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1086:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 95, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1086:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1085:9:0" + }, + "scope": 99, + "src": "1031:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "99": { + "abstract": false, + "baseContracts": [], + "canonicalName": "IToken", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 99, + "linearizedBaseContracts": [ + 99 + ], + "name": "IToken", + "nameLocation": "940:6:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "certora_contract_name": "IToken", + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 91, + "name": "Transfer", + "nameLocation": "959:8:0", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 85, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "984:4:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "968:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "968:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 87, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1006:2:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "990:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 86, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 89, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1018:5:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1010:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 88, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "967:57:0" + }, + "src": "953:72:0" + }, + { + "certora_contract_name": "IToken", + "functionSelector": "70a08231", + "id": 98, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1040:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "who", + "nameLocation": "1058:3:0", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1050:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1050:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1049:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1086:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 95, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1086:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1085:9:0" + }, + "scope": 99, + "src": "1031:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 669, + "src": "930:167:0", + "usedErrors": [], + "usedEvents": [ + 91 + ] + }, + "100": { + "certora_contract_name": "MathLib", + "id": 100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1141:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "101": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "a", + "nameLocation": "1149:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1141:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1141:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "102": { + "certora_contract_name": "MathLib", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "103": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "b", + "nameLocation": "1160:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1152:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "104": { + "certora_contract_name": "MathLib", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "a", + "nameLocation": "1149:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1141:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1141:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "b", + "nameLocation": "1160:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1152:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1140:22:0" + }, + "105": { + "certora_contract_name": "MathLib", + "id": 105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "106": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1186:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "107": { + "certora_contract_name": "MathLib", + "id": 107, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1186:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1185:9:0" + }, + "108": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "109": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "110": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "111": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "112": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "113": { + "assignments": [ + 109 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1229:17:0" + }, + "114": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "115": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "116": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "117": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "118": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + }, + "119": { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + }, + "120": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "121": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "122": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "123": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "124": { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 107, + "id": 124, + "nodeType": "Return", + "src": "1260:36:0" + }, + "125": { + "certora_contract_name": "MathLib", + "id": 125, + "nodeType": "UncheckedBlock", + "src": "1205:102:0", + "statements": [ + { + "assignments": [ + 109 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1229:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 107, + "id": 124, + "nodeType": "Return", + "src": "1260:36:0" + } + ] + }, + "126": { + "certora_contract_name": "MathLib", + "id": 126, + "nodeType": "Block", + "src": "1195:118:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "id": 125, + "nodeType": "UncheckedBlock", + "src": "1205:102:0", + "statements": [ + { + "assignments": [ + 109 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1229:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 107, + "id": 124, + "nodeType": "Return", + "src": "1260:36:0" + } + ] + } + ] + }, + "127": { + "body": { + "certora_contract_name": "MathLib", + "id": 126, + "nodeType": "Block", + "src": "1195:118:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "id": 125, + "nodeType": "UncheckedBlock", + "src": "1205:102:0", + "statements": [ + { + "assignments": [ + 109 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1229:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 107, + "id": 124, + "nodeType": "Return", + "src": "1260:36:0" + } + ] + } + ] + }, + "certora_contract_name": "MathLib", + "id": 127, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nameLocation": "1130:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "a", + "nameLocation": "1149:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1141:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1141:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "b", + "nameLocation": "1160:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1152:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1140:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 107, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1186:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1185:9:0" + }, + "scope": 128, + "src": "1121:192:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "128": { + "abstract": false, + "baseContracts": [], + "canonicalName": "MathLib", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 128, + "linearizedBaseContracts": [ + 128 + ], + "name": "MathLib", + "nameLocation": "1107:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 126, + "nodeType": "Block", + "src": "1195:118:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "id": 125, + "nodeType": "UncheckedBlock", + "src": "1205:102:0", + "statements": [ + { + "assignments": [ + 109 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1229:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 107, + "id": 124, + "nodeType": "Return", + "src": "1260:36:0" + } + ] + } + ] + }, + "certora_contract_name": "MathLib", + "id": 127, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nameLocation": "1130:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "a", + "nameLocation": "1149:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1141:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1141:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "b", + "nameLocation": "1160:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1152:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1140:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 107, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1186:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1185:9:0" + }, + "scope": 128, + "src": "1121:192:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 669, + "src": "1099:216:0", + "usedErrors": [], + "usedEvents": [] + }, + "129": { + "certora_contract_name": "Base", + "id": 129, + "name": "Init", + "nameLocation": "1367:4:0", + "nodeType": "EnumValue", + "src": "1367:4:0" + }, + "130": { + "certora_contract_name": "Base", + "id": 130, + "name": "Active", + "nameLocation": "1381:6:0", + "nodeType": "EnumValue", + "src": "1381:6:0" + }, + "131": { + "certora_contract_name": "Base", + "id": 131, + "name": "Done", + "nameLocation": "1397:4:0", + "nodeType": "EnumValue", + "src": "1397:4:0" + }, + "132": { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 132, + "members": [ + { + "certora_contract_name": "Base", + "id": 129, + "name": "Init", + "nameLocation": "1367:4:0", + "nodeType": "EnumValue", + "src": "1367:4:0" + }, + { + "certora_contract_name": "Base", + "id": 130, + "name": "Active", + "nameLocation": "1381:6:0", + "nodeType": "EnumValue", + "src": "1381:6:0" + }, + { + "certora_contract_name": "Base", + "id": 131, + "name": "Done", + "nameLocation": "1397:4:0", + "nodeType": "EnumValue", + "src": "1397:4:0" + } + ], + "name": "Phase", + "nameLocation": "1351:5:0", + "nodeType": "EnumDefinition", + "src": "1346:61:0" + }, + "133": { + "certora_contract_name": "Base", + "id": 133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1438:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "134": { + "certora_contract_name": "Base", + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1446:7:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1438:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1438:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "135": { + "certora_contract_name": "Base", + "id": 135, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1463:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "136": { + "certora_contract_name": "Base", + "constant": false, + "id": 136, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1470:5:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1463:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 135, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1463:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + "137": { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 137, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1446:7:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1438:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1438:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 136, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1470:5:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1463:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 135, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1463:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Account", + "nameLocation": "1420:7:0", + "nodeType": "StructDefinition", + "scope": 184, + "src": "1413:69:0", + "visibility": "public" + }, + "138": { + "certora_contract_name": "Base", + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "139": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1520:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "140": { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 140, + "mutability": "constant", + "name": "LIMIT", + "nameLocation": "1512:5:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1488:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1520:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + "141": { + "certora_contract_name": "Base", + "id": 141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1529:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "142": { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 142, + "mutability": "immutable", + "name": "createdAt", + "nameLocation": "1554:9:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1529:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1529:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + "143": { + "certora_contract_name": "Base", + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1569:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "144": { + "certora_contract_name": "Base", + "constant": false, + "id": 144, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1586:5:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1569:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1569:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "145": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "146": { + "certora_contract_name": "Base", + "id": 146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "referencedDeclaration": 132, + "src": "1617:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "147": { + "certora_contract_name": "Base", + "constant": false, + "id": 147, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nameLocation": "1631:8:0", + "nodeType": "VariableDeclaration", + "scope": 149, + "src": "1617:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "referencedDeclaration": 132, + "src": "1617:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + }, + "148": { + "certora_contract_name": "Base", + "id": 148, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 147, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nameLocation": "1631:8:0", + "nodeType": "VariableDeclaration", + "scope": 149, + "src": "1617:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "referencedDeclaration": 132, + "src": "1617:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1616:24:0" + }, + "149": { + "anonymous": false, + "certora_contract_name": "Base", + "eventSelector": "a6dcc92f45df25789d5639b7a0c97ba1edf3bb1c0b5dd3376fd96a0db87c4642", + "id": 149, + "name": "PhaseChanged", + "nameLocation": "1604:12:0", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 148, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 147, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nameLocation": "1631:8:0", + "nodeType": "VariableDeclaration", + "scope": 149, + "src": "1617:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "referencedDeclaration": 132, + "src": "1617:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1616:24:0" + }, + "src": "1598:43:0" + }, + "150": { + "certora_contract_name": "Base", + "id": 150, + "nodeType": "ParameterList", + "parameters": [], + "src": "1665:2:0" + }, + "151": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "152": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "153": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "154": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1682:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "155": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "156": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "157": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "158": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "159": { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + }, + "160": { + "certora_contract_name": "Base", + "id": 160, + "nodeType": "Block", + "src": "1703:56:0", + "statements": [ + { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + } + ] + }, + "161": { + "certora_contract_name": "Base", + "condition": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1682:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 161, + "nodeType": "IfStatement", + "src": "1678:81:0", + "trueBody": { + "certora_contract_name": "Base", + "id": 160, + "nodeType": "Block", + "src": "1703:56:0", + "statements": [ + { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + } + ] + } + }, + "162": { + "certora_contract_name": "Base", + "id": 162, + "nodeType": "PlaceholderStatement", + "src": "1768:1:0" + }, + "163": { + "certora_contract_name": "Base", + "id": 163, + "nodeType": "Block", + "src": "1668:108:0", + "statements": [ + { + "certora_contract_name": "Base", + "condition": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1682:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 161, + "nodeType": "IfStatement", + "src": "1678:81:0", + "trueBody": { + "certora_contract_name": "Base", + "id": 160, + "nodeType": "Block", + "src": "1703:56:0", + "statements": [ + { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + } + ] + } + }, + { + "certora_contract_name": "Base", + "id": 162, + "nodeType": "PlaceholderStatement", + "src": "1768:1:0" + } + ] + }, + "164": { + "body": { + "certora_contract_name": "Base", + "id": 163, + "nodeType": "Block", + "src": "1668:108:0", + "statements": [ + { + "certora_contract_name": "Base", + "condition": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1682:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 161, + "nodeType": "IfStatement", + "src": "1678:81:0", + "trueBody": { + "certora_contract_name": "Base", + "id": 160, + "nodeType": "Block", + "src": "1703:56:0", + "statements": [ + { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + } + ] + } + }, + { + "certora_contract_name": "Base", + "id": 162, + "nodeType": "PlaceholderStatement", + "src": "1768:1:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 164, + "name": "onlyOwner", + "nameLocation": "1656:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 150, + "nodeType": "ParameterList", + "parameters": [], + "src": "1665:2:0" + }, + "src": "1647:129:0", + "virtual": false, + "visibility": "internal" + }, + "165": { + "certora_contract_name": "Base", + "id": 165, + "nodeType": "ParameterList", + "parameters": [], + "src": "1793:2:0" + }, + "166": { + "certora_contract_name": "Base", + "id": 166, + "nodeType": "ParameterList", + "parameters": [], + "src": "1796:0:0" + }, + "167": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "168": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "169": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "170": { + "certora_contract_name": "Base", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1806:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "171": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1806:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "1806:27:0" + }, + "172": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "173": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "174": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "175": { + "certora_contract_name": "Base", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1843:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "176": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1843:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1843:18:0" + }, + "177": { + "certora_contract_name": "Base", + "id": 177, + "nodeType": "Block", + "src": "1796:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1806:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "1806:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1843:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1843:18:0" + } + ] + }, + "178": { + "body": { + "certora_contract_name": "Base", + "id": 177, + "nodeType": "Block", + "src": "1796:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1806:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "1806:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1843:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1843:18:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 178, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 165, + "nodeType": "ParameterList", + "parameters": [], + "src": "1793:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 166, + "nodeType": "ParameterList", + "parameters": [], + "src": "1796:0:0" + }, + "scope": 184, + "src": "1782:86:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + "179": { + "certora_contract_name": "Base", + "id": 179, + "nodeType": "ParameterList", + "parameters": [], + "src": "1887:2:0" + }, + "180": { + "certora_contract_name": "Base", + "id": 180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "181": { + "certora_contract_name": "Base", + "constant": false, + "id": 181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 183, + "src": "1914:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "182": { + "certora_contract_name": "Base", + "id": 182, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 183, + "src": "1914:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1913:9:0" + }, + "183": { + "certora_contract_name": "Base", + "functionSelector": "5c36b186", + "id": 183, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "1883:4:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 179, + "nodeType": "ParameterList", + "parameters": [], + "src": "1887:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 182, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 183, + "src": "1914:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1913:9:0" + }, + "scope": 184, + "src": "1874:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "184": { + "abstract": true, + "baseContracts": [], + "canonicalName": "Base", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "id": 184, + "linearizedBaseContracts": [ + 184 + ], + "name": "Base", + "nameLocation": "1335:4:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 132, + "members": [ + { + "certora_contract_name": "Base", + "id": 129, + "name": "Init", + "nameLocation": "1367:4:0", + "nodeType": "EnumValue", + "src": "1367:4:0" + }, + { + "certora_contract_name": "Base", + "id": 130, + "name": "Active", + "nameLocation": "1381:6:0", + "nodeType": "EnumValue", + "src": "1381:6:0" + }, + { + "certora_contract_name": "Base", + "id": 131, + "name": "Done", + "nameLocation": "1397:4:0", + "nodeType": "EnumValue", + "src": "1397:4:0" + } + ], + "name": "Phase", + "nameLocation": "1351:5:0", + "nodeType": "EnumDefinition", + "src": "1346:61:0" + }, + { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 137, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1446:7:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1438:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1438:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 136, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1470:5:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1463:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 135, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1463:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Account", + "nameLocation": "1420:7:0", + "nodeType": "StructDefinition", + "scope": 184, + "src": "1413:69:0", + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 140, + "mutability": "constant", + "name": "LIMIT", + "nameLocation": "1512:5:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1488:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1520:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 142, + "mutability": "immutable", + "name": "createdAt", + "nameLocation": "1554:9:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1529:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1529:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 144, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1586:5:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1569:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1569:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "eventSelector": "a6dcc92f45df25789d5639b7a0c97ba1edf3bb1c0b5dd3376fd96a0db87c4642", + "id": 149, + "name": "PhaseChanged", + "nameLocation": "1604:12:0", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 148, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 147, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nameLocation": "1631:8:0", + "nodeType": "VariableDeclaration", + "scope": 149, + "src": "1617:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "referencedDeclaration": 132, + "src": "1617:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1616:24:0" + }, + "src": "1598:43:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 163, + "nodeType": "Block", + "src": "1668:108:0", + "statements": [ + { + "certora_contract_name": "Base", + "condition": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1682:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 161, + "nodeType": "IfStatement", + "src": "1678:81:0", + "trueBody": { + "certora_contract_name": "Base", + "id": 160, + "nodeType": "Block", + "src": "1703:56:0", + "statements": [ + { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + } + ] + } + }, + { + "certora_contract_name": "Base", + "id": 162, + "nodeType": "PlaceholderStatement", + "src": "1768:1:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 164, + "name": "onlyOwner", + "nameLocation": "1656:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 150, + "nodeType": "ParameterList", + "parameters": [], + "src": "1665:2:0" + }, + "src": "1647:129:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 177, + "nodeType": "Block", + "src": "1796:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1806:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "1806:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1843:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1843:18:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 178, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 165, + "nodeType": "ParameterList", + "parameters": [], + "src": "1793:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 166, + "nodeType": "ParameterList", + "parameters": [], + "src": "1796:0:0" + }, + "scope": 184, + "src": "1782:86:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "functionSelector": "5c36b186", + "id": 183, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "1883:4:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 179, + "nodeType": "ParameterList", + "parameters": [], + "src": "1887:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 182, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 183, + "src": "1914:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1913:9:0" + }, + "scope": 184, + "src": "1874:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 669, + "src": "1317:608:0", + "usedErrors": [], + "usedEvents": [ + 149 + ] + }, + "185": { + "certora_contract_name": "Left", + "id": 185, + "name": "Base", + "nameLocations": [ + "1944:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "1944:4:0" + }, + "186": { + "baseName": { + "certora_contract_name": "Left", + "id": 185, + "name": "Base", + "nameLocations": [ + "1944:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "1944:4:0" + }, + "certora_contract_name": "Left", + "id": 186, + "nodeType": "InheritanceSpecifier", + "src": "1944:4:0" + }, + "187": { + "certora_contract_name": "Left", + "id": 187, + "nodeType": "ParameterList", + "parameters": [], + "src": "1968:2:0" + }, + "188": { + "certora_contract_name": "Left", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1986:8:0" + }, + "189": { + "certora_contract_name": "Left", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2004:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "190": { + "certora_contract_name": "Left", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 195, + "src": "2004:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2004:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "191": { + "certora_contract_name": "Left", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 195, + "src": "2004:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2004:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2003:9:0" + }, + "192": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "193": { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 191, + "id": 193, + "nodeType": "Return", + "src": "2023:8:0" + }, + "194": { + "certora_contract_name": "Left", + "id": 194, + "nodeType": "Block", + "src": "2013:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 191, + "id": 193, + "nodeType": "Return", + "src": "2023:8:0" + } + ] + }, + "195": { + "baseFunctions": [ + 183 + ], + "body": { + "certora_contract_name": "Left", + "id": 194, + "nodeType": "Block", + "src": "2013:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 191, + "id": 193, + "nodeType": "Return", + "src": "2023:8:0" + } + ] + }, + "certora_contract_name": "Left", + "functionSelector": "5c36b186", + "id": 195, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "1964:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1986:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 187, + "nodeType": "ParameterList", + "parameters": [], + "src": "1968:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 195, + "src": "2004:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2004:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2003:9:0" + }, + "scope": 196, + "src": "1955:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "196": { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Left", + "id": 185, + "name": "Base", + "nameLocations": [ + "1944:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "1944:4:0" + }, + "certora_contract_name": "Left", + "id": 186, + "nodeType": "InheritanceSpecifier", + "src": "1944:4:0" + } + ], + "canonicalName": "Left", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 196, + "linearizedBaseContracts": [ + 196, + 184 + ], + "name": "Left", + "nameLocation": "1936:4:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 183 + ], + "body": { + "certora_contract_name": "Left", + "id": 194, + "nodeType": "Block", + "src": "2013:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 191, + "id": 193, + "nodeType": "Return", + "src": "2023:8:0" + } + ] + }, + "certora_contract_name": "Left", + "functionSelector": "5c36b186", + "id": 195, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "1964:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1986:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 187, + "nodeType": "ParameterList", + "parameters": [], + "src": "1968:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 195, + "src": "2004:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2004:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2003:9:0" + }, + "scope": 196, + "src": "1955:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 669, + "src": "1927:113:0", + "usedErrors": [], + "usedEvents": [ + 149 + ] + }, + "197": { + "certora_contract_name": "Right", + "id": 197, + "name": "Base", + "nameLocations": [ + "2060:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "2060:4:0" + }, + "198": { + "baseName": { + "certora_contract_name": "Right", + "id": 197, + "name": "Base", + "nameLocations": [ + "2060:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "2060:4:0" + }, + "certora_contract_name": "Right", + "id": 198, + "nodeType": "InheritanceSpecifier", + "src": "2060:4:0" + }, + "199": { + "certora_contract_name": "Right", + "id": 199, + "nodeType": "ParameterList", + "parameters": [], + "src": "2084:2:0" + }, + "200": { + "certora_contract_name": "Right", + "id": 200, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2102:8:0" + }, + "201": { + "certora_contract_name": "Right", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "202": { + "certora_contract_name": "Right", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "2120:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "203": { + "certora_contract_name": "Right", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "2120:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2119:9:0" + }, + "204": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2146:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "205": { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2146:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 203, + "id": 205, + "nodeType": "Return", + "src": "2139:8:0" + }, + "206": { + "certora_contract_name": "Right", + "id": 206, + "nodeType": "Block", + "src": "2129:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2146:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 203, + "id": 205, + "nodeType": "Return", + "src": "2139:8:0" + } + ] + }, + "207": { + "baseFunctions": [ + 183 + ], + "body": { + "certora_contract_name": "Right", + "id": 206, + "nodeType": "Block", + "src": "2129:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2146:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 203, + "id": 205, + "nodeType": "Return", + "src": "2139:8:0" + } + ] + }, + "certora_contract_name": "Right", + "functionSelector": "5c36b186", + "id": 207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "2080:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 200, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2102:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 199, + "nodeType": "ParameterList", + "parameters": [], + "src": "2084:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "2120:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2119:9:0" + }, + "scope": 208, + "src": "2071:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + "208": { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Right", + "id": 197, + "name": "Base", + "nameLocations": [ + "2060:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "2060:4:0" + }, + "certora_contract_name": "Right", + "id": 198, + "nodeType": "InheritanceSpecifier", + "src": "2060:4:0" + } + ], + "canonicalName": "Right", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 208, + "linearizedBaseContracts": [ + 208, + 184 + ], + "name": "Right", + "nameLocation": "2051:5:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 183 + ], + "body": { + "certora_contract_name": "Right", + "id": 206, + "nodeType": "Block", + "src": "2129:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2146:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 203, + "id": 205, + "nodeType": "Return", + "src": "2139:8:0" + } + ] + }, + "certora_contract_name": "Right", + "functionSelector": "5c36b186", + "id": 207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "2080:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 200, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2102:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 199, + "nodeType": "ParameterList", + "parameters": [], + "src": "2084:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "2120:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2119:9:0" + }, + "scope": 208, + "src": "2071:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 669, + "src": "2042:114:0", + "usedErrors": [], + "usedEvents": [ + 149 + ] + }, + "209": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Left", + "nameLocations": [ + "2178:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2178:4:0" + }, + "210": { + "baseName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Left", + "nameLocations": [ + "2178:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2178:4:0" + }, + "certora_contract_name": "Diamond", + "id": 210, + "nodeType": "InheritanceSpecifier", + "src": "2178:4:0" + }, + "211": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "Right", + "nameLocations": [ + "2184:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2184:5:0" + }, + "212": { + "baseName": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "Right", + "nameLocations": [ + "2184:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2184:5:0" + }, + "certora_contract_name": "Diamond", + "id": 212, + "nodeType": "InheritanceSpecifier", + "src": "2184:5:0" + }, + "213": { + "certora_contract_name": "Diamond", + "id": 213, + "name": "IToken", + "nameLocations": [ + "2191:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "2191:6:0" + }, + "214": { + "baseName": { + "certora_contract_name": "Diamond", + "id": 213, + "name": "IToken", + "nameLocations": [ + "2191:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "2191:6:0" + }, + "certora_contract_name": "Diamond", + "id": 214, + "nodeType": "InheritanceSpecifier", + "src": "2191:6:0" + }, + "215": { + "certora_contract_name": "Diamond", + "id": 215, + "name": "MathLib", + "nameLocations": [ + "2210:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 128, + "src": "2210:7:0" + }, + "216": { + "certora_contract_name": "Diamond", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2222:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "217": { + "certora_contract_name": "Diamond", + "global": false, + "id": 217, + "libraryName": { + "certora_contract_name": "Diamond", + "id": 215, + "name": "MathLib", + "nameLocations": [ + "2210:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 128, + "src": "2210:7:0" + }, + "nodeType": "UsingForDirective", + "src": "2204:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2222:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "218": { + "certora_contract_name": "Diamond", + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2300:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "219": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "Account", + "nameLocations": [ + "2317:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "2317:7:0" + }, + "220": { + "certora_contract_name": "Diamond", + "id": 220, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "Account", + "nameLocations": [ + "2317:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "2317:7:0" + }, + "referencedDeclaration": 137, + "src": "2317:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "221": { + "certora_contract_name": "Diamond", + "id": 221, + "keyName": "owner", + "keyNameLocation": "2308:5:0", + "keyType": { + "certora_contract_name": "Diamond", + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2300:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2292:41:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueName": "account", + "valueNameLocation": "2325:7:0", + "valueType": { + "certora_contract_name": "Diamond", + "id": 220, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "Account", + "nameLocations": [ + "2317:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "2317:7:0" + }, + "referencedDeclaration": 137, + "src": "2317:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "222": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 222, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2341:8:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2292:57:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 221, + "keyName": "owner", + "keyNameLocation": "2308:5:0", + "keyType": { + "certora_contract_name": "Diamond", + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2300:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2292:41:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueName": "account", + "valueNameLocation": "2325:7:0", + "valueType": { + "certora_contract_name": "Diamond", + "id": 220, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "Account", + "nameLocations": [ + "2317:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "2317:7:0" + }, + "referencedDeclaration": 137, + "src": "2317:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "visibility": "public" + }, + "223": { + "certora_contract_name": "Diamond", + "id": 223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2355:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "224": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2355:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 224, + "nodeType": "ArrayTypeName", + "src": "2355:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "225": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "history", + "nameLocation": "2374:7:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2355:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2355:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 224, + "nodeType": "ArrayTypeName", + "src": "2355:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + "226": { + "certora_contract_name": "Diamond", + "id": 226, + "name": "Phase", + "nameLocations": [ + "2387:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "2387:5:0" + }, + "227": { + "certora_contract_name": "Diamond", + "id": 227, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 226, + "name": "Phase", + "nameLocations": [ + "2387:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "2387:5:0" + }, + "referencedDeclaration": 132, + "src": "2387:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "228": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 228, + "mutability": "mutable", + "name": "phase", + "nameLocation": "2400:5:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2387:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 227, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 226, + "name": "Phase", + "nameLocations": [ + "2387:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "2387:5:0" + }, + "referencedDeclaration": 132, + "src": "2387:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "public" + }, + "229": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "Price", + "nameLocations": [ + "2411:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "2411:5:0" + }, + "230": { + "certora_contract_name": "Diamond", + "id": 230, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "Price", + "nameLocations": [ + "2411:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "2411:5:0" + }, + "referencedDeclaration": 3, + "src": "2411:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "231": { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "9363c812", + "id": 231, + "mutability": "mutable", + "name": "floorPrice", + "nameLocation": "2424:10:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2411:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 230, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "Price", + "nameLocations": [ + "2411:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "2411:5:0" + }, + "referencedDeclaration": 3, + "src": "2411:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "public" + }, + "232": { + "certora_contract_name": "Diamond", + "id": 232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "233": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 233, + "mutability": "mutable", + "name": "firstUser", + "nameLocation": "2461:9:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2453:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "234": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "235": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "seed", + "nameLocation": "2480:4:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2472:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "236": { + "certora_contract_name": "Diamond", + "id": 236, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 233, + "mutability": "mutable", + "name": "firstUser", + "nameLocation": "2461:9:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2453:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "seed", + "nameLocation": "2480:4:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2472:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2452:33:0" + }, + "237": { + "certora_contract_name": "Diamond", + "id": 237, + "nodeType": "ParameterList", + "parameters": [], + "src": "2486:0:0" + }, + "238": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "239": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "240": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "241": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "242": { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "243": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "244": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "245": { + "certora_contract_name": "Diamond", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2496:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "246": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2496:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 246, + "nodeType": "ExpressionStatement", + "src": "2496:56:0" + }, + "247": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "249": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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)" + } + }, + "250": { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "251": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2562:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "252": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2562:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "2562:18:0" + }, + "253": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "254": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "255": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "256": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + }, + "257": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "258": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "259": { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "260": { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "261": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "262": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "263": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "264": { + "certora_contract_name": "Diamond", + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "2590:52:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "265": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "2590:52:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "2590:52:0" + }, + "266": { + "certora_contract_name": "Diamond", + "id": 266, + "nodeType": "Block", + "src": "2486:163:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2496:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 246, + "nodeType": "ExpressionStatement", + "src": "2496:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2562:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "2562:18:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "2590:52:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "2590:52:0" + } + ] + }, + "267": { + "body": { + "certora_contract_name": "Diamond", + "id": 266, + "nodeType": "Block", + "src": "2486:163:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2496:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 246, + "nodeType": "ExpressionStatement", + "src": "2496:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2562:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "2562:18:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "2590:52:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "2590:52:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 267, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 236, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 233, + "mutability": "mutable", + "name": "firstUser", + "nameLocation": "2461:9:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2453:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "seed", + "nameLocation": "2480:4:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2472:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2452:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 237, + "nodeType": "ParameterList", + "parameters": [], + "src": "2486:0:0" + }, + "scope": 668, + "src": "2441:208:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "268": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [], + "src": "2668:2:0" + }, + "269": { + "certora_contract_name": "Diamond", + "id": 269, + "name": "Left", + "nameLocations": [ + "2687:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2687:4:0" + }, + "270": { + "certora_contract_name": "Diamond", + "id": 270, + "name": "Right", + "nameLocations": [ + "2693:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2693:5:0" + }, + "271": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 269, + "name": "Left", + "nameLocations": [ + "2687:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2687:4:0" + }, + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "Right", + "nameLocations": [ + "2693:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2693:5:0" + } + ], + "src": "2678:21:0" + }, + "272": { + "certora_contract_name": "Diamond", + "id": 272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2709:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "273": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 289, + "src": "2709:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2709:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "274": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 289, + "src": "2709:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2709:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2708:9:0" + }, + "275": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "276": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "277": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "278": { + "certora_contract_name": "Diamond", + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "src": "2728:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "279": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "src": "2728:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "id": 279, + "nodeType": "ExpressionStatement", + "src": "2728:20:0" + }, + "280": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "281": { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "282": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "283": { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 283, + "nodeType": "EmitStatement", + "src": "2758:24:0" + }, + "284": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "285": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "286": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "287": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 274, + "id": 287, + "nodeType": "Return", + "src": "2792:19:0" + }, + "288": { + "certora_contract_name": "Diamond", + "id": 288, + "nodeType": "Block", + "src": "2718:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "src": "2728:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "id": 279, + "nodeType": "ExpressionStatement", + "src": "2728:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 283, + "nodeType": "EmitStatement", + "src": "2758:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 274, + "id": 287, + "nodeType": "Return", + "src": "2792:19:0" + } + ] + }, + "289": { + "baseFunctions": [ + 195, + 207 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 288, + "nodeType": "Block", + "src": "2718:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "src": "2728:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "id": 279, + "nodeType": "ExpressionStatement", + "src": "2728:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 283, + "nodeType": "EmitStatement", + "src": "2758:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 274, + "id": 287, + "nodeType": "Return", + "src": "2792:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "5c36b186", + "id": 289, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "2664:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 269, + "name": "Left", + "nameLocations": [ + "2687:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2687:4:0" + }, + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "Right", + "nameLocations": [ + "2693:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2693:5:0" + } + ], + "src": "2678:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [], + "src": "2668:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 289, + "src": "2709:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2709:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2708:9:0" + }, + "scope": 668, + "src": "2655:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "290": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2843:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "291": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "who", + "nameLocation": "2851:3:0", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2843:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2843:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "292": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "who", + "nameLocation": "2851:3:0", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2843:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2843:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2842:13:0" + }, + "293": { + "certora_contract_name": "Diamond", + "id": 293, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2870:8:0" + }, + "294": { + "certora_contract_name": "Diamond", + "id": 294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "295": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2888:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "296": { + "certora_contract_name": "Diamond", + "id": 296, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2888:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2887:9:0" + }, + "297": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "298": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "299": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "300": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "2914:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "301": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "2914:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 296, + "id": 301, + "nodeType": "Return", + "src": "2907:28:0" + }, + "302": { + "certora_contract_name": "Diamond", + "id": 302, + "nodeType": "Block", + "src": "2897:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "2914:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 296, + "id": 301, + "nodeType": "Return", + "src": "2907:28:0" + } + ] + }, + "303": { + "baseFunctions": [ + 98 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 302, + "nodeType": "Block", + "src": "2897:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "2914:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 296, + "id": 301, + "nodeType": "Return", + "src": "2907:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "70a08231", + "id": 303, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2833:9:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 293, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2870:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "who", + "nameLocation": "2851:3:0", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2843:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2843:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2842:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 296, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2888:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2887:9:0" + }, + "scope": 668, + "src": "2824:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "304": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "305": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "to", + "nameLocation": "2974:2:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2966:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "306": { + "certora_contract_name": "Diamond", + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "307": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 307, + "mutability": "mutable", + "name": "value", + "nameLocation": "2986:5:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2978:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "308": { + "certora_contract_name": "Diamond", + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "to", + "nameLocation": "2974:2:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2966:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 307, + "mutability": "mutable", + "name": "value", + "nameLocation": "2986:5:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2978:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2965:27:0" + }, + "309": { + "certora_contract_name": "Diamond", + "id": 309, + "name": "onlyOwner", + "nameLocations": [ + "3002:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "3002:9:0" + }, + "310": { + "certora_contract_name": "Diamond", + "id": 310, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 309, + "name": "onlyOwner", + "nameLocations": [ + "3002:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "3002:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3002:9:0" + }, + "311": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3021:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "312": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "3021:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3021:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + "313": { + "certora_contract_name": "Diamond", + "id": 313, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "3021:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3021:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3020:6:0" + }, + "314": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "315": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "316": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "from", + "nameLocation": "3053:4:0", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "3037:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + }, + "317": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "318": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "319": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "320": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 320, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3060:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "321": { + "assignments": [ + 316 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "from", + "nameLocation": "3053:4:0", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "3037:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 321, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 320, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3060:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3037:43:0" + }, + "322": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "323": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "324": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "325": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3094:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "326": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "327": { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "328": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "329": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "330": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "331": { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + }, + "332": { + "certora_contract_name": "Diamond", + "id": 332, + "nodeType": "Block", + "src": "3116:65:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + } + ] + }, + "333": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3094:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 333, + "nodeType": "IfStatement", + "src": "3090:91:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 332, + "nodeType": "Block", + "src": "3116:65:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + } + ] + } + }, + "334": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "336": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "337": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "338": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "339": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 339, + "nodeType": "ExpressionStatement", + "src": "3214:21:0" + }, + "340": { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "UncheckedBlock", + "src": "3190:56:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 339, + "nodeType": "ExpressionStatement", + "src": "3214:21:0" + } + ] + }, + "341": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "342": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "343": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "344": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "345": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "346": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "347": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "348": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "349": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "350": { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "351": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "352": { + "certora_contract_name": "Diamond", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3255:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "353": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3255:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "3255:61:0" + }, + "354": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "355": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "356": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "357": { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "358": { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "359": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3331:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "360": { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3331:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "EmitStatement", + "src": "3326:36:0" + }, + "361": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3379:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "362": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3379:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 313, + "id": 362, + "nodeType": "Return", + "src": "3372:11:0" + }, + "363": { + "certora_contract_name": "Diamond", + "id": 363, + "nodeType": "Block", + "src": "3027:363:0", + "statements": [ + { + "assignments": [ + 316 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "from", + "nameLocation": "3053:4:0", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "3037:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 321, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 320, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3060:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3037:43:0" + }, + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3094:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 333, + "nodeType": "IfStatement", + "src": "3090:91:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 332, + "nodeType": "Block", + "src": "3116:65:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "UncheckedBlock", + "src": "3190:56:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 339, + "nodeType": "ExpressionStatement", + "src": "3214:21:0" + } + ] + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3255:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "3255:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3331:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "EmitStatement", + "src": "3326:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3379:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 313, + "id": 362, + "nodeType": "Return", + "src": "3372:11:0" + } + ] + }, + "364": { + "body": { + "certora_contract_name": "Diamond", + "id": 363, + "nodeType": "Block", + "src": "3027:363:0", + "statements": [ + { + "assignments": [ + 316 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "from", + "nameLocation": "3053:4:0", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "3037:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 321, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 320, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3060:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3037:43:0" + }, + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3094:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 333, + "nodeType": "IfStatement", + "src": "3090:91:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 332, + "nodeType": "Block", + "src": "3116:65:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "UncheckedBlock", + "src": "3190:56:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 339, + "nodeType": "ExpressionStatement", + "src": "3214:21:0" + } + ] + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3255:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "3255:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3331:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "EmitStatement", + "src": "3326:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3379:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 313, + "id": 362, + "nodeType": "Return", + "src": "3372:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "a9059cbb", + "id": 364, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 309, + "name": "onlyOwner", + "nameLocations": [ + "3002:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "3002:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3002:9:0" + } + ], + "name": "transfer", + "nameLocation": "2957:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "to", + "nameLocation": "2974:2:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2966:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 307, + "mutability": "mutable", + "name": "value", + "nameLocation": "2986:5:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2978:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2965:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 313, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "3021:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3021:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3020:6:0" + }, + "scope": 668, + "src": "2948:442:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "365": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "366": { + "certora_contract_name": "Diamond", + "id": 366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "referencedDeclaration": 3, + "src": "3473:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "367": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "a", + "nameLocation": "3479:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3473:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "referencedDeclaration": 3, + "src": "3473:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "368": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "369": { + "certora_contract_name": "Diamond", + "id": 369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "referencedDeclaration": 3, + "src": "3482:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "370": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "b", + "nameLocation": "3488:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3482:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "referencedDeclaration": 3, + "src": "3482:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "371": { + "certora_contract_name": "Diamond", + "id": 371, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "a", + "nameLocation": "3479:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3473:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "referencedDeclaration": 3, + "src": "3473:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "b", + "nameLocation": "3488:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3482:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "referencedDeclaration": 3, + "src": "3482:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3472:18:0" + }, + "372": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "373": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "referencedDeclaration": 3, + "src": "3512:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "374": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 374, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3512:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "referencedDeclaration": 3, + "src": "3512:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + "375": { + "certora_contract_name": "Diamond", + "id": 375, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 374, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3512:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "referencedDeclaration": 3, + "src": "3512:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3511:7:0" + }, + "376": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "377": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "378": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 51, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3533:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "379": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "380": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "381": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "382": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + }, + "383": { + "certora_contract_name": "Diamond", + "id": 383, + "nodeType": "Block", + "src": "3541:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + } + ] + }, + "384": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 51, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3533:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 384, + "nodeType": "IfStatement", + "src": "3529:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 383, + "nodeType": "Block", + "src": "3541:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + } + ] + } + }, + "385": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "386": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "387": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3594:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "388": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3594:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 388, + "nodeType": "Return", + "src": "3587:12:0" + }, + "389": { + "certora_contract_name": "Diamond", + "id": 389, + "nodeType": "Block", + "src": "3519:87:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 51, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3533:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 384, + "nodeType": "IfStatement", + "src": "3529:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 383, + "nodeType": "Block", + "src": "3541:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3594:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 388, + "nodeType": "Return", + "src": "3587:12:0" + } + ] + }, + "390": { + "body": { + "certora_contract_name": "Diamond", + "id": 389, + "nodeType": "Block", + "src": "3519:87:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 51, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3533:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 384, + "nodeType": "IfStatement", + "src": "3529:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 383, + "nodeType": "Block", + "src": "3541:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3594:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 388, + "nodeType": "Return", + "src": "3587:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "f5dff84f", + "id": 390, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "total", + "nameLocation": "3467:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 371, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "a", + "nameLocation": "3479:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3473:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "referencedDeclaration": 3, + "src": "3473:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "b", + "nameLocation": "3488:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3482:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "referencedDeclaration": 3, + "src": "3482:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3472:18:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 375, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 374, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3512:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "referencedDeclaration": 3, + "src": "3512:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3511:7:0" + }, + "scope": 668, + "src": "3458:148:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "391": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "392": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "393": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "394": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "395": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "396": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "397": { + "certora_contract_name": "Diamond", + "id": 397, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "src": "3641:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "398": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 398, + "mutability": "mutable", + "name": "f", + "nameLocation": "3691:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3641:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 397, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "src": "3641:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + "399": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3702:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "400": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "x", + "nameLocation": "3710:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3702:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3702:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "401": { + "certora_contract_name": "Diamond", + "id": 401, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 398, + "mutability": "mutable", + "name": "f", + "nameLocation": "3691:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3641:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 397, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "src": "3641:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "x", + "nameLocation": "3710:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3702:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3702:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3631:86:0" + }, + "402": { + "certora_contract_name": "Diamond", + "id": 402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3741:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "403": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 403, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3741:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3741:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "404": { + "certora_contract_name": "Diamond", + "id": 404, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 403, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3741:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3741:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3740:9:0" + }, + "405": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "406": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "407": { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "408": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "409": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "410": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 404, + "id": 410, + "nodeType": "Return", + "src": "3760:14:0" + }, + "411": { + "certora_contract_name": "Diamond", + "id": 411, + "nodeType": "Block", + "src": "3750:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 404, + "id": 410, + "nodeType": "Return", + "src": "3760:14:0" + } + ] + }, + "412": { + "body": { + "certora_contract_name": "Diamond", + "id": 411, + "nodeType": "Block", + "src": "3750:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 404, + "id": 410, + "nodeType": "Return", + "src": "3760:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 412, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nameLocation": "3621:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 401, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 398, + "mutability": "mutable", + "name": "f", + "nameLocation": "3691:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3641:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 397, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "src": "3641:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "x", + "nameLocation": "3710:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3702:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3702:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3631:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 404, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 403, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3741:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3741:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3740:9:0" + }, + "scope": 668, + "src": "3612:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "413": { + "certora_contract_name": "Diamond", + "id": 413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "414": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 414, + "mutability": "mutable", + "name": "x", + "nameLocation": "3809:1:0", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3801:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "415": { + "certora_contract_name": "Diamond", + "id": 415, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 414, + "mutability": "mutable", + "name": "x", + "nameLocation": "3809:1:0", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3801:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3800:11:0" + }, + "416": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "417": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3835:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "418": { + "certora_contract_name": "Diamond", + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3835:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3834:9:0" + }, + "419": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "420": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "421": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3861:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "422": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3861:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 418, + "id": 422, + "nodeType": "Return", + "src": "3854:12:0" + }, + "423": { + "certora_contract_name": "Diamond", + "id": 423, + "nodeType": "Block", + "src": "3844:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3861:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 418, + "id": 422, + "nodeType": "Return", + "src": "3854:12:0" + } + ] + }, + "424": { + "body": { + "certora_contract_name": "Diamond", + "id": 423, + "nodeType": "Block", + "src": "3844:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3861:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 418, + "id": 422, + "nodeType": "Return", + "src": "3854:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nameLocation": "3796:4:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 415, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 414, + "mutability": "mutable", + "name": "x", + "nameLocation": "3809:1:0", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3801:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3800:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3835:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3834:9:0" + }, + "scope": 668, + "src": "3787:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + "425": { + "certora_contract_name": "Diamond", + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3908:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "426": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 426, + "mutability": "mutable", + "name": "a", + "nameLocation": "3916:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3908:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3908:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "427": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "428": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "b", + "nameLocation": "3927:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3919:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "429": { + "certora_contract_name": "Diamond", + "id": 429, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 426, + "mutability": "mutable", + "name": "a", + "nameLocation": "3916:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3908:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3908:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "b", + "nameLocation": "3927:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3919:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3907:22:0" + }, + "430": { + "certora_contract_name": "Diamond", + "id": 430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3975:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "431": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "lo", + "nameLocation": "3983:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3975:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3975:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "432": { + "certora_contract_name": "Diamond", + "id": 432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3987:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "433": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "hi", + "nameLocation": "3995:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3987:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3987:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "434": { + "certora_contract_name": "Diamond", + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "lo", + "nameLocation": "3983:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3975:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3975:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "hi", + "nameLocation": "3995:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3987:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3987:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3974:24:0" + }, + "435": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "436": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "m", + "nameLocation": "4021:1:0", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "4013:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "437": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "438": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "439": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "440": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "441": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "442": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4025:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "443": { + "assignments": [ + 436 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "m", + "nameLocation": "4021:1:0", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "4013:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 443, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4025:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4013:25:0" + }, + "444": { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "445": { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "446": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "447": { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "448": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "449": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "450": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "451": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "452": { + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4048:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "453": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4048:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "4048:21:0" + }, + "454": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "455": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "456": { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "457": { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "458": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "459": { + "certora_contract_name": "Diamond", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4079:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "460": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4079:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 460, + "nodeType": "ExpressionStatement", + "src": "4079:25:0" + }, + "461": { + "certora_contract_name": "Diamond", + "id": 461, + "nodeType": "Block", + "src": "4003:108:0", + "statements": [ + { + "assignments": [ + 436 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "m", + "nameLocation": "4021:1:0", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "4013:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 443, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4025:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4013:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4048:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "4048:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4079:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 460, + "nodeType": "ExpressionStatement", + "src": "4079:25:0" + } + ] + }, + "462": { + "body": { + "certora_contract_name": "Diamond", + "id": 461, + "nodeType": "Block", + "src": "4003:108:0", + "statements": [ + { + "assignments": [ + 436 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "m", + "nameLocation": "4021:1:0", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "4013:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 443, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4025:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4013:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4048:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "4048:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4079:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 460, + "nodeType": "ExpressionStatement", + "src": "4079:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "bbda574c", + "id": 462, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nameLocation": "3888:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 429, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 426, + "mutability": "mutable", + "name": "a", + "nameLocation": "3916:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3908:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3908:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "b", + "nameLocation": "3927:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3919:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3907:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "lo", + "nameLocation": "3983:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3975:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3975:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "hi", + "nameLocation": "3995:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3987:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3987:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3974:24:0" + }, + "scope": 668, + "src": "3879:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "463": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "464": { + "certora_contract_name": "Diamond", + "id": 464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "referencedDeclaration": 99, + "src": "4138:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "465": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "token", + "nameLocation": "4145:5:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4138:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "referencedDeclaration": 99, + "src": "4138:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + "466": { + "certora_contract_name": "Diamond", + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "467": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "who", + "nameLocation": "4160:3:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4152:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "468": { + "certora_contract_name": "Diamond", + "id": 468, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "token", + "nameLocation": "4145:5:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4138:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "referencedDeclaration": 99, + "src": "4138:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "who", + "nameLocation": "4160:3:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4152:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4137:27:0" + }, + "469": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "470": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4188:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "471": { + "certora_contract_name": "Diamond", + "id": 471, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4188:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4187:9:0" + }, + "472": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "473": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "474": { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "475": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4211:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "476": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "477": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "478": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "479": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "480": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + }, + "481": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "482": { + "block": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 482, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "src": "4232:61:0" + }, + "483": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "484": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + "485": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "486": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "487": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + }, + "488": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "489": { + "block": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 489, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "src": "4294:60:0" + }, + "490": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "491": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + "492": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "493": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "494": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + }, + "495": { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "496": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "497": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "498": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + }, + "499": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "500": { + "block": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 500, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "src": "4355:70:0" + }, + "501": { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 482, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "src": "4232:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 489, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "src": "4294:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 500, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "src": "4355:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4211:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 501, + "nodeType": "TryStatement", + "src": "4207:218:0" + }, + "502": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "Block", + "src": "4197:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 482, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "src": "4232:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 489, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "src": "4294:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 500, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "src": "4355:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4211:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 501, + "nodeType": "TryStatement", + "src": "4207:218:0" + } + ] + }, + "503": { + "body": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "Block", + "src": "4197:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 482, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "src": "4232:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 489, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "src": "4294:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 500, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "src": "4355:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4211:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 501, + "nodeType": "TryStatement", + "src": "4207:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "aec5299f", + "id": 503, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nameLocation": "4126:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 468, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "token", + "nameLocation": "4145:5:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4138:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "referencedDeclaration": 99, + "src": "4138:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "who", + "nameLocation": "4160:3:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4152:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4137:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 471, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4188:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4187:9:0" + }, + "scope": 668, + "src": "4117:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + "504": { + "certora_contract_name": "Diamond", + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4456:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "505": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 505, + "mutability": "mutable", + "name": "target", + "nameLocation": "4464:6:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4456:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4456:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + "506": { + "certora_contract_name": "Diamond", + "id": 506, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 505, + "mutability": "mutable", + "name": "target", + "nameLocation": "4464:6:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4456:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4456:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4455:16:0" + }, + "507": { + "certora_contract_name": "Diamond", + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4493:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "508": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "size", + "nameLocation": "4501:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4493:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4493:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "509": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4507:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "510": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "blob", + "nameLocation": "4520:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4507:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4507:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + "511": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "size", + "nameLocation": "4501:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4493:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4493:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "blob", + "nameLocation": "4520:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4507:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4507:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4492:33:0" + }, + "512": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "513": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "514": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "515": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "516": { + "certora_contract_name": "Diamond", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4536:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "517": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4536:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 517, + "nodeType": "ExpressionStatement", + "src": "4536:25:0" + }, + "518": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "519": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + }, + "520": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "521": { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + }, + "522": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "523": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "524": { + "certora_contract_name": "Diamond", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "4571:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "525": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "4571:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "4571:25:0" + }, + "526": { + "certora_contract_name": "Diamond", + "id": 526, + "nodeType": "Block", + "src": "4526:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4536:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 517, + "nodeType": "ExpressionStatement", + "src": "4536:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "4571:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "4571:25:0" + } + ] + }, + "527": { + "body": { + "certora_contract_name": "Diamond", + "id": 526, + "nodeType": "Block", + "src": "4526:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4536:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 517, + "nodeType": "ExpressionStatement", + "src": "4536:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "4571:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "4571:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "43b0ea25", + "id": 527, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "codeProbe", + "nameLocation": "4446:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 506, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 505, + "mutability": "mutable", + "name": "target", + "nameLocation": "4464:6:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4456:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4456:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4455:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "size", + "nameLocation": "4501:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4493:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4493:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "blob", + "nameLocation": "4520:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4507:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4507:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4492:33:0" + }, + "scope": 668, + "src": "4437:166:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + "528": { + "certora_contract_name": "Diamond", + "id": 528, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4674:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "529": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 529, + "mutability": "mutable", + "name": "data", + "nameLocation": "4689:4:0", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4674:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 528, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4674:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + "530": { + "certora_contract_name": "Diamond", + "id": 530, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 529, + "mutability": "mutable", + "name": "data", + "nameLocation": "4689:4:0", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4674:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 528, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4674:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4673:21:0" + }, + "531": { + "certora_contract_name": "Diamond", + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4718:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "532": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4718:14:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4718:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + "533": { + "certora_contract_name": "Diamond", + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4718:14:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4718:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4717:16:0" + }, + "534": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "535": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "536": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "537": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "certora_contract_name": "Diamond", + "endExpression": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4751:9:0", + "startExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "538": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "certora_contract_name": "Diamond", + "endExpression": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4751:9:0", + "startExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "functionReturnParameters": 533, + "id": 538, + "nodeType": "Return", + "src": "4744:16:0" + }, + "539": { + "certora_contract_name": "Diamond", + "id": 539, + "nodeType": "Block", + "src": "4734:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "certora_contract_name": "Diamond", + "endExpression": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4751:9:0", + "startExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "functionReturnParameters": 533, + "id": 538, + "nodeType": "Return", + "src": "4744:16:0" + } + ] + }, + "540": { + "body": { + "certora_contract_name": "Diamond", + "id": 539, + "nodeType": "Block", + "src": "4734:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "certora_contract_name": "Diamond", + "endExpression": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4751:9:0", + "startExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "functionReturnParameters": 533, + "id": 538, + "nodeType": "Return", + "src": "4744:16:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "655f4111", + "id": 540, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "selectorOf", + "nameLocation": "4663:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 530, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 529, + "mutability": "mutable", + "name": "data", + "nameLocation": "4689:4:0", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4674:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 528, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4674:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4673:21:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4718:14:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4718:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4717:16:0" + }, + "scope": 668, + "src": "4654:113:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + "541": { + "certora_contract_name": "Diamond", + "id": 541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4794:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "542": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 542, + "mutability": "mutable", + "name": "n", + "nameLocation": "4802:1:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4794:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4794:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "543": { + "certora_contract_name": "Diamond", + "id": 543, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 542, + "mutability": "mutable", + "name": "n", + "nameLocation": "4802:1:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4794:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4794:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4793:11:0" + }, + "544": { + "certora_contract_name": "Diamond", + "id": 544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4826:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "545": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "acc", + "nameLocation": "4834:3:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4826:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4826:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "546": { + "certora_contract_name": "Diamond", + "id": 546, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "acc", + "nameLocation": "4834:3:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4826:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4826:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4825:13:0" + }, + "547": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "548": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "549": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "550": { + "assignments": [ + 548 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4854:13:0" + }, + "551": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "552": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "553": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4869:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "554": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "555": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "556": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "4876:3:0" + }, + "557": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "558": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "559": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "560": { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + }, + "561": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + }, + "562": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "563": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "564": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "565": { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + }, + "566": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + }, + "567": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "568": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + "569": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "570": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "571": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "572": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + }, + "573": { + "certora_contract_name": "Diamond", + "id": 573, + "nodeType": "Block", + "src": "4881:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + } + ] + }, + "574": { + "body": { + "certora_contract_name": "Diamond", + "id": 573, + "nodeType": "Block", + "src": "4881:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4869:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 574, + "initializationExpression": { + "assignments": [ + 548 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4854:13:0" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "4876:3:0" + }, + "nodeType": "ForStatement", + "src": "4849:186:0" + }, + "575": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "576": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "j", + "nameLocation": "5052:1:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5044:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "577": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5056:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "578": { + "assignments": [ + 576 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "j", + "nameLocation": "5052:1:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5044:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 578, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5056:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5044:13:0" + }, + "579": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "580": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "581": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5074:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "582": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "583": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "584": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + }, + "585": { + "certora_contract_name": "Diamond", + "id": 585, + "nodeType": "Block", + "src": "5081:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + } + ] + }, + "586": { + "body": { + "certora_contract_name": "Diamond", + "id": 585, + "nodeType": "Block", + "src": "5081:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5074:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 586, + "nodeType": "WhileStatement", + "src": "5067:42:0" + }, + "587": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "588": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "589": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "590": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "591": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "592": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + }, + "593": { + "certora_contract_name": "Diamond", + "id": 593, + "nodeType": "Block", + "src": "5121:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + } + ] + }, + "594": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "595": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "596": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "597": { + "body": { + "certora_contract_name": "Diamond", + "id": 593, + "nodeType": "Block", + "src": "5121:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 597, + "nodeType": "DoWhileStatement", + "src": "5118:58:0" + }, + "600": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "601": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "602": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "scratch", + "nameLocation": "5202:7:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5185:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + "603": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "604": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "605": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "606": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "607": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "608": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "609": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5212:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "610": { + "assignments": [ + 602 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "scratch", + "nameLocation": "5202:7:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5185:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 610, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5212:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:47:0" + }, + "611": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "612": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "613": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "614": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "615": { + "certora_contract_name": "Diamond", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5242:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "616": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5242:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 616, + "nodeType": "ExpressionStatement", + "src": "5242:16:0" + }, + "617": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "618": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "619": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "620": { + "certora_contract_name": "Diamond", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5268:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "621": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5268:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 621, + "nodeType": "ExpressionStatement", + "src": "5268:17:0" + }, + "622": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "623": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "624": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "625": { + "certora_contract_name": "Diamond", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5295:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "626": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5295:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 626, + "nodeType": "ExpressionStatement", + "src": "5295:20:0" + }, + "627": { + "certora_contract_name": "Diamond", + "id": 627, + "nodeType": "Block", + "src": "4839:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 573, + "nodeType": "Block", + "src": "4881:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4869:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 574, + "initializationExpression": { + "assignments": [ + 548 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4854:13:0" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "4876:3:0" + }, + "nodeType": "ForStatement", + "src": "4849:186:0" + }, + { + "assignments": [ + 576 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "j", + "nameLocation": "5052:1:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5044:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 578, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5056:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5044:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 585, + "nodeType": "Block", + "src": "5081:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5074:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 586, + "nodeType": "WhileStatement", + "src": "5067:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 593, + "nodeType": "Block", + "src": "5121:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 597, + "nodeType": "DoWhileStatement", + "src": "5118:58:0" + }, + { + "assignments": [ + 602 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "scratch", + "nameLocation": "5202:7:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5185:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 610, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5212:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5242:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 616, + "nodeType": "ExpressionStatement", + "src": "5242:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5268:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 621, + "nodeType": "ExpressionStatement", + "src": "5268:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5295:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 626, + "nodeType": "ExpressionStatement", + "src": "5295:20:0" + } + ] + }, + "628": { + "body": { + "certora_contract_name": "Diamond", + "id": 627, + "nodeType": "Block", + "src": "4839:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 573, + "nodeType": "Block", + "src": "4881:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4869:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 574, + "initializationExpression": { + "assignments": [ + 548 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4854:13:0" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "4876:3:0" + }, + "nodeType": "ForStatement", + "src": "4849:186:0" + }, + { + "assignments": [ + 576 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "j", + "nameLocation": "5052:1:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5044:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 578, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5056:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5044:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 585, + "nodeType": "Block", + "src": "5081:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5074:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 586, + "nodeType": "WhileStatement", + "src": "5067:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 593, + "nodeType": "Block", + "src": "5121:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 597, + "nodeType": "DoWhileStatement", + "src": "5118:58:0" + }, + { + "assignments": [ + 602 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "scratch", + "nameLocation": "5202:7:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5185:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 610, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5212:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5242:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 616, + "nodeType": "ExpressionStatement", + "src": "5242:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5268:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 621, + "nodeType": "ExpressionStatement", + "src": "5268:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5295:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 626, + "nodeType": "ExpressionStatement", + "src": "5295:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "90dc1163", + "id": 628, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nameLocation": "4782:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 543, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 542, + "mutability": "mutable", + "name": "n", + "nameLocation": "4802:1:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4794:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4794:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4793:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 546, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "acc", + "nameLocation": "4834:3:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4826:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4826:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4825:13:0" + }, + "scope": 668, + "src": "4773:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "629": { + "certora_contract_name": "Diamond", + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "630": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "to", + "nameLocation": "5365:2:0", + "nodeType": "VariableDeclaration", + "scope": 650, + "src": "5349:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + "631": { + "certora_contract_name": "Diamond", + "id": 631, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "to", + "nameLocation": "5365:2:0", + "nodeType": "VariableDeclaration", + "scope": 650, + "src": "5349:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "5348:20:0" + }, + "632": { + "certora_contract_name": "Diamond", + "id": 632, + "name": "onlyOwner", + "nameLocations": [ + "5378:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "5378:9:0" + }, + "633": { + "certora_contract_name": "Diamond", + "id": 633, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 632, + "name": "onlyOwner", + "nameLocations": [ + "5378:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "5378:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5378:9:0" + }, + "634": { + "certora_contract_name": "Diamond", + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "5388:0:0" + }, + "635": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "636": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "ok", + "nameLocation": "5404:2:0", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "5399:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + "637": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "638": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "639": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "640": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "641": { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "642": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5412:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "643": { + "assignments": [ + 636, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "ok", + "nameLocation": "5404:2:0", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "5399:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 643, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5412:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5398:35:0" + }, + "644": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "645": { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "646": { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + }, + "647": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5443:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "648": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5443:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 648, + "nodeType": "ExpressionStatement", + "src": "5443:26:0" + }, + "649": { + "certora_contract_name": "Diamond", + "id": 649, + "nodeType": "Block", + "src": "5388:88:0", + "statements": [ + { + "assignments": [ + 636, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "ok", + "nameLocation": "5404:2:0", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "5399:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 643, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5412:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5398:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5443:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 648, + "nodeType": "ExpressionStatement", + "src": "5443:26:0" + } + ] + }, + "650": { + "body": { + "certora_contract_name": "Diamond", + "id": 649, + "nodeType": "Block", + "src": "5388:88:0", + "statements": [ + { + "assignments": [ + 636, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "ok", + "nameLocation": "5404:2:0", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "5399:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 643, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5412:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5398:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5443:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 648, + "nodeType": "ExpressionStatement", + "src": "5443:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "d5b488b2", + "id": 650, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 633, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 632, + "name": "onlyOwner", + "nameLocations": [ + "5378:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "5378:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5378:9:0" + } + ], + "name": "sendNothing", + "nameLocation": "5337:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 631, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "to", + "nameLocation": "5365:2:0", + "nodeType": "VariableDeclaration", + "scope": 650, + "src": "5349:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "5348:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "5388:0:0" + }, + "scope": 668, + "src": "5328:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "651": { + "certora_contract_name": "Diamond", + "id": 651, + "nodeType": "ParameterList", + "parameters": [], + "src": "5489:2:0" + }, + "652": { + "certora_contract_name": "Diamond", + "id": 652, + "nodeType": "ParameterList", + "parameters": [], + "src": "5509:0:0" + }, + "653": { + "certora_contract_name": "Diamond", + "id": 653, + "nodeType": "Block", + "src": "5509:2:0", + "statements": [] + }, + "654": { + "body": { + "certora_contract_name": "Diamond", + "id": 653, + "nodeType": "Block", + "src": "5509:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 654, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 651, + "nodeType": "ParameterList", + "parameters": [], + "src": "5489:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 652, + "nodeType": "ParameterList", + "parameters": [], + "src": "5509:0:0" + }, + "scope": 668, + "src": "5482:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + "655": { + "certora_contract_name": "Diamond", + "id": 655, + "nodeType": "ParameterList", + "parameters": [], + "src": "5525:2:0" + }, + "656": { + "certora_contract_name": "Diamond", + "id": 656, + "nodeType": "ParameterList", + "parameters": [], + "src": "5545:0:0" + }, + "657": { + "certora_contract_name": "Diamond", + "id": 657, + "nodeType": "Block", + "src": "5545:2:0", + "statements": [] + }, + "658": { + "body": { + "certora_contract_name": "Diamond", + "id": 657, + "nodeType": "Block", + "src": "5545:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 658, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 655, + "nodeType": "ParameterList", + "parameters": [], + "src": "5525:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 656, + "nodeType": "ParameterList", + "parameters": [], + "src": "5545:0:0" + }, + "scope": 668, + "src": "5517:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + "659": { + "certora_contract_name": "Diamond", + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5571:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "660": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 660, + "mutability": "mutable", + "name": "n", + "nameLocation": "5579:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5571:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5571:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "661": { + "certora_contract_name": "Diamond", + "id": 661, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 660, + "mutability": "mutable", + "name": "n", + "nameLocation": "5579:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5571:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5571:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5570:11:0" + }, + "662": { + "certora_contract_name": "Diamond", + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5603:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "663": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "r", + "nameLocation": "5611:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5603:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5603:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + "664": { + "certora_contract_name": "Diamond", + "id": 664, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "r", + "nameLocation": "5611:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5603:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5603:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5602:11:0" + }, + "665": { + "AST": { + "certora_contract_name": "Diamond", + "nativeSrc": "5633:884:0", + "nodeType": "YulBlock", + "src": "5633:884:0", + "statements": [ + { + "body": { + "nativeSrc": "5671:121:0", + "nodeType": "YulBlock", + "src": "5671:121:0", + "statements": [ + { + "body": { + "nativeSrc": "5702:45:0", + "nodeType": "YulBlock", + "src": "5702:45:0", + "statements": [ + { + "nativeSrc": "5724:5:0", + "nodeType": "YulLeave", + "src": "5724:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5699:1:0", + "nodeType": "YulIdentifier", + "src": "5699:1:0" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5692:6:0", + "nodeType": "YulIdentifier", + "src": "5692:6:0" + }, + "nativeSrc": "5692:9:0", + "nodeType": "YulFunctionCall", + "src": "5692:9:0" + }, + "nativeSrc": "5689:58:0", + "nodeType": "YulIf", + "src": "5689:58:0" + }, + { + "nativeSrc": "5764:14:0", + "nodeType": "YulAssignment", + "src": "5764:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5773:1:0", + "nodeType": "YulIdentifier", + "src": "5773:1:0" + }, + { + "kind": "number", + "nativeSrc": "5776:1:0", + "nodeType": "YulLiteral", + "src": "5776:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5769:3:0", + "nodeType": "YulIdentifier", + "src": "5769:3:0" + }, + "nativeSrc": "5769:9:0", + "nodeType": "YulFunctionCall", + "src": "5769:9:0" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "5764:1:0", + "nodeType": "YulIdentifier", + "src": "5764:1:0" + } + ] + } + ] + }, + "name": "double", + "nativeSrc": "5647:145:0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nativeSrc": "5663:1:0", + "nodeType": "YulTypedName", + "src": "5663:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nativeSrc": "5669:1:0", + "nodeType": "YulTypedName", + "src": "5669:1:0", + "type": "" + } + ], + "src": "5647:145:0" + }, + { + "nativeSrc": "5805:12:0", + "nodeType": "YulVariableDeclaration", + "src": "5805:12:0", + "value": { + "kind": "number", + "nativeSrc": "5816:1:0", + "nodeType": "YulLiteral", + "src": "5816:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nativeSrc": "5809:3:0", + "nodeType": "YulTypedName", + "src": "5809:3:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5933:210:0", + "nodeType": "YulBlock", + "src": "5933:210:0", + "statements": [ + { + "body": { + "nativeSrc": "5963:48:0", + "nodeType": "YulBlock", + "src": "5963:48:0", + "statements": [ + { + "nativeSrc": "5985:8:0", + "nodeType": "YulContinue", + "src": "5985:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5957:1:0", + "nodeType": "YulIdentifier", + "src": "5957:1:0" + }, + { + "kind": "number", + "nativeSrc": "5960:1:0", + "nodeType": "YulLiteral", + "src": "5960:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5954:2:0", + "nodeType": "YulIdentifier", + "src": "5954:2:0" + }, + "nativeSrc": "5954:8:0", + "nodeType": "YulFunctionCall", + "src": "5954:8:0" + }, + "nativeSrc": "5951:60:0", + "nodeType": "YulIf", + "src": "5951:60:0" + }, + { + "body": { + "nativeSrc": "6041:45:0", + "nodeType": "YulBlock", + "src": "6041:45:0", + "statements": [ + { + "nativeSrc": "6063:5:0", + "nodeType": "YulBreak", + "src": "6063:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6034:1:0", + "nodeType": "YulIdentifier", + "src": "6034:1:0" + }, + { + "kind": "number", + "nativeSrc": "6037:2:0", + "nodeType": "YulLiteral", + "src": "6037:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6031:2:0", + "nodeType": "YulIdentifier", + "src": "6031:2:0" + }, + "nativeSrc": "6031:9:0", + "nodeType": "YulFunctionCall", + "src": "6031:9:0" + }, + "nativeSrc": "6028:58:0", + "nodeType": "YulIf", + "src": "6028:58:0" + }, + { + "nativeSrc": "6103:26:0", + "nodeType": "YulAssignment", + "src": "6103:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6114:3:0", + "nodeType": "YulIdentifier", + "src": "6114:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nativeSrc": "6126:1:0", + "nodeType": "YulIdentifier", + "src": "6126:1:0" + } + ], + "functionName": { + "name": "double", + "nativeSrc": "6119:6:0", + "nodeType": "YulIdentifier", + "src": "6119:6:0" + }, + "nativeSrc": "6119:9:0", + "nodeType": "YulFunctionCall", + "src": "6119:9:0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6110:3:0", + "nodeType": "YulIdentifier", + "src": "6110:3:0" + }, + "nativeSrc": "6110:19:0", + "nodeType": "YulFunctionCall", + "src": "6110:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nativeSrc": "6103:3:0", + "nodeType": "YulIdentifier", + "src": "6103:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5880:1:0", + "nodeType": "YulIdentifier", + "src": "5880:1:0" + }, + { + "name": "n", + "nativeSrc": "5883:1:0", + "nodeType": "YulIdentifier", + "src": "5883:1:0" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5877:2:0", + "nodeType": "YulIdentifier", + "src": "5877:2:0" + }, + "nativeSrc": "5877:8:0", + "nodeType": "YulFunctionCall", + "src": "5877:8:0" + }, + "nativeSrc": "5830:313:0", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5886:46:0", + "nodeType": "YulBlock", + "src": "5886:46:0", + "statements": [ + { + "nativeSrc": "5904:14:0", + "nodeType": "YulAssignment", + "src": "5904:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5913:1:0", + "nodeType": "YulIdentifier", + "src": "5913:1:0" + }, + { + "kind": "number", + "nativeSrc": "5916:1:0", + "nodeType": "YulLiteral", + "src": "5916:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5909:3:0", + "nodeType": "YulIdentifier", + "src": "5909:3:0" + }, + "nativeSrc": "5909:9:0", + "nodeType": "YulFunctionCall", + "src": "5909:9:0" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5904:1:0", + "nodeType": "YulIdentifier", + "src": "5904:1:0" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5834:42:0", + "nodeType": "YulBlock", + "src": "5834:42:0", + "statements": [ + { + "nativeSrc": "5852:10:0", + "nodeType": "YulVariableDeclaration", + "src": "5852:10:0", + "value": { + "kind": "number", + "nativeSrc": "5861:1:0", + "nodeType": "YulLiteral", + "src": "5861:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5856:1:0", + "nodeType": "YulTypedName", + "src": "5856:1:0", + "type": "" + } + ] + } + ] + }, + "src": "5830:313:0" + }, + { + "cases": [ + { + "body": { + "nativeSrc": "6194:40:0", + "nodeType": "YulBlock", + "src": "6194:40:0", + "statements": [ + { + "nativeSrc": "6212:8:0", + "nodeType": "YulAssignment", + "src": "6212:8:0", + "value": { + "name": "acc", + "nativeSrc": "6217:3:0", + "nodeType": "YulIdentifier", + "src": "6217:3:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6212:1:0", + "nodeType": "YulIdentifier", + "src": "6212:1:0" + } + ] + } + ] + }, + "nativeSrc": "6187:47:0", + "nodeType": "YulCase", + "src": "6187:47:0", + "value": { + "kind": "number", + "nativeSrc": "6192:1:0", + "nodeType": "YulLiteral", + "src": "6192:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nativeSrc": "6254:48:0", + "nodeType": "YulBlock", + "src": "6254:48:0", + "statements": [ + { + "nativeSrc": "6272:16:0", + "nodeType": "YulAssignment", + "src": "6272:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6281:3:0", + "nodeType": "YulIdentifier", + "src": "6281:3:0" + }, + { + "kind": "number", + "nativeSrc": "6286:1:0", + "nodeType": "YulLiteral", + "src": "6286:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6277:3:0", + "nodeType": "YulIdentifier", + "src": "6277:3:0" + }, + "nativeSrc": "6277:11:0", + "nodeType": "YulFunctionCall", + "src": "6277:11:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6272:1:0", + "nodeType": "YulIdentifier", + "src": "6272:1:0" + } + ] + } + ] + }, + "nativeSrc": "6247:55:0", + "nodeType": "YulCase", + "src": "6247:55:0", + "value": { + "kind": "number", + "nativeSrc": "6252:1:0", + "nodeType": "YulLiteral", + "src": "6252:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "6323:38:0", + "nodeType": "YulBlock", + "src": "6323:38:0", + "statements": [ + { + "nativeSrc": "6341:6:0", + "nodeType": "YulAssignment", + "src": "6341:6:0", + "value": { + "kind": "number", + "nativeSrc": "6346:1:0", + "nodeType": "YulLiteral", + "src": "6346:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6341:1:0", + "nodeType": "YulIdentifier", + "src": "6341:1:0" + } + ] + } + ] + }, + "nativeSrc": "6315:46:0", + "nodeType": "YulCase", + "src": "6315:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6167:3:0", + "nodeType": "YulIdentifier", + "src": "6167:3:0" + }, + { + "kind": "number", + "nativeSrc": "6172:1:0", + "nodeType": "YulLiteral", + "src": "6172:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6163:3:0", + "nodeType": "YulIdentifier", + "src": "6163:3:0" + }, + "nativeSrc": "6163:11:0", + "nodeType": "YulFunctionCall", + "src": "6163:11:0" + }, + "nativeSrc": "6156:205:0", + "nodeType": "YulSwitch", + "src": "6156:205:0" + }, + { + "nativeSrc": "6374:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6374:16:0", + "value": { + "hexValue": "79756c", + "kind": "string", + "nativeSrc": "6385:5:0", + "nodeType": "YulLiteral", + "src": "6385:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nativeSrc": "6378:3:0", + "nodeType": "YulTypedName", + "src": "6378:3:0", + "type": "" + } + ] + }, + { + "nativeSrc": "6403:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6403:16:0", + "value": { + "kind": "bool", + "nativeSrc": "6415:4:0", + "nodeType": "YulLiteral", + "src": "6415:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nativeSrc": "6407:4:0", + "nodeType": "YulTypedName", + "src": "6407:4:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6458:49:0", + "nodeType": "YulBlock", + "src": "6458:49:0", + "statements": [ + { + "nativeSrc": "6476:17:0", + "nodeType": "YulAssignment", + "src": "6476:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6486:1:0", + "nodeType": "YulLiteral", + "src": "6486:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nativeSrc": "6489:3:0", + "nodeType": "YulIdentifier", + "src": "6489:3:0" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "6481:4:0", + "nodeType": "YulIdentifier", + "src": "6481:4:0" + }, + "nativeSrc": "6481:12:0", + "nodeType": "YulFunctionCall", + "src": "6481:12:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6476:1:0", + "nodeType": "YulIdentifier", + "src": "6476:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nativeSrc": "6439:4:0", + "nodeType": "YulIdentifier", + "src": "6439:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nativeSrc": "6448:1:0", + "nodeType": "YulIdentifier", + "src": "6448:1:0" + }, + { + "kind": "number", + "nativeSrc": "6451:4:0", + "nodeType": "YulLiteral", + "src": "6451:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6445:2:0", + "nodeType": "YulIdentifier", + "src": "6445:2:0" + }, + "nativeSrc": "6445:11:0", + "nodeType": "YulFunctionCall", + "src": "6445:11:0" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6435:3:0", + "nodeType": "YulIdentifier", + "src": "6435:3:0" + }, + "nativeSrc": "6435:22:0", + "nodeType": "YulFunctionCall", + "src": "6435:22:0" + }, + "nativeSrc": "6432:75:0", + "nodeType": "YulIf", + "src": "6432:75:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "prague", + "externalReferences": [ + { + "declaration": 660, + "isOffset": false, + "isSlot": false, + "src": "5883:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6212:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6272:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6341:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6448:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6476:1:0", + "valueSize": 1 + } + ], + "id": 665, + "nodeType": "InlineAssembly", + "src": "5624:893:0" + }, + "666": { + "certora_contract_name": "Diamond", + "id": 666, + "nodeType": "Block", + "src": "5614:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nativeSrc": "5633:884:0", + "nodeType": "YulBlock", + "src": "5633:884:0", + "statements": [ + { + "body": { + "nativeSrc": "5671:121:0", + "nodeType": "YulBlock", + "src": "5671:121:0", + "statements": [ + { + "body": { + "nativeSrc": "5702:45:0", + "nodeType": "YulBlock", + "src": "5702:45:0", + "statements": [ + { + "nativeSrc": "5724:5:0", + "nodeType": "YulLeave", + "src": "5724:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5699:1:0", + "nodeType": "YulIdentifier", + "src": "5699:1:0" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5692:6:0", + "nodeType": "YulIdentifier", + "src": "5692:6:0" + }, + "nativeSrc": "5692:9:0", + "nodeType": "YulFunctionCall", + "src": "5692:9:0" + }, + "nativeSrc": "5689:58:0", + "nodeType": "YulIf", + "src": "5689:58:0" + }, + { + "nativeSrc": "5764:14:0", + "nodeType": "YulAssignment", + "src": "5764:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5773:1:0", + "nodeType": "YulIdentifier", + "src": "5773:1:0" + }, + { + "kind": "number", + "nativeSrc": "5776:1:0", + "nodeType": "YulLiteral", + "src": "5776:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5769:3:0", + "nodeType": "YulIdentifier", + "src": "5769:3:0" + }, + "nativeSrc": "5769:9:0", + "nodeType": "YulFunctionCall", + "src": "5769:9:0" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "5764:1:0", + "nodeType": "YulIdentifier", + "src": "5764:1:0" + } + ] + } + ] + }, + "name": "double", + "nativeSrc": "5647:145:0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nativeSrc": "5663:1:0", + "nodeType": "YulTypedName", + "src": "5663:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nativeSrc": "5669:1:0", + "nodeType": "YulTypedName", + "src": "5669:1:0", + "type": "" + } + ], + "src": "5647:145:0" + }, + { + "nativeSrc": "5805:12:0", + "nodeType": "YulVariableDeclaration", + "src": "5805:12:0", + "value": { + "kind": "number", + "nativeSrc": "5816:1:0", + "nodeType": "YulLiteral", + "src": "5816:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nativeSrc": "5809:3:0", + "nodeType": "YulTypedName", + "src": "5809:3:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5933:210:0", + "nodeType": "YulBlock", + "src": "5933:210:0", + "statements": [ + { + "body": { + "nativeSrc": "5963:48:0", + "nodeType": "YulBlock", + "src": "5963:48:0", + "statements": [ + { + "nativeSrc": "5985:8:0", + "nodeType": "YulContinue", + "src": "5985:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5957:1:0", + "nodeType": "YulIdentifier", + "src": "5957:1:0" + }, + { + "kind": "number", + "nativeSrc": "5960:1:0", + "nodeType": "YulLiteral", + "src": "5960:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5954:2:0", + "nodeType": "YulIdentifier", + "src": "5954:2:0" + }, + "nativeSrc": "5954:8:0", + "nodeType": "YulFunctionCall", + "src": "5954:8:0" + }, + "nativeSrc": "5951:60:0", + "nodeType": "YulIf", + "src": "5951:60:0" + }, + { + "body": { + "nativeSrc": "6041:45:0", + "nodeType": "YulBlock", + "src": "6041:45:0", + "statements": [ + { + "nativeSrc": "6063:5:0", + "nodeType": "YulBreak", + "src": "6063:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6034:1:0", + "nodeType": "YulIdentifier", + "src": "6034:1:0" + }, + { + "kind": "number", + "nativeSrc": "6037:2:0", + "nodeType": "YulLiteral", + "src": "6037:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6031:2:0", + "nodeType": "YulIdentifier", + "src": "6031:2:0" + }, + "nativeSrc": "6031:9:0", + "nodeType": "YulFunctionCall", + "src": "6031:9:0" + }, + "nativeSrc": "6028:58:0", + "nodeType": "YulIf", + "src": "6028:58:0" + }, + { + "nativeSrc": "6103:26:0", + "nodeType": "YulAssignment", + "src": "6103:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6114:3:0", + "nodeType": "YulIdentifier", + "src": "6114:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nativeSrc": "6126:1:0", + "nodeType": "YulIdentifier", + "src": "6126:1:0" + } + ], + "functionName": { + "name": "double", + "nativeSrc": "6119:6:0", + "nodeType": "YulIdentifier", + "src": "6119:6:0" + }, + "nativeSrc": "6119:9:0", + "nodeType": "YulFunctionCall", + "src": "6119:9:0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6110:3:0", + "nodeType": "YulIdentifier", + "src": "6110:3:0" + }, + "nativeSrc": "6110:19:0", + "nodeType": "YulFunctionCall", + "src": "6110:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nativeSrc": "6103:3:0", + "nodeType": "YulIdentifier", + "src": "6103:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5880:1:0", + "nodeType": "YulIdentifier", + "src": "5880:1:0" + }, + { + "name": "n", + "nativeSrc": "5883:1:0", + "nodeType": "YulIdentifier", + "src": "5883:1:0" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5877:2:0", + "nodeType": "YulIdentifier", + "src": "5877:2:0" + }, + "nativeSrc": "5877:8:0", + "nodeType": "YulFunctionCall", + "src": "5877:8:0" + }, + "nativeSrc": "5830:313:0", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5886:46:0", + "nodeType": "YulBlock", + "src": "5886:46:0", + "statements": [ + { + "nativeSrc": "5904:14:0", + "nodeType": "YulAssignment", + "src": "5904:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5913:1:0", + "nodeType": "YulIdentifier", + "src": "5913:1:0" + }, + { + "kind": "number", + "nativeSrc": "5916:1:0", + "nodeType": "YulLiteral", + "src": "5916:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5909:3:0", + "nodeType": "YulIdentifier", + "src": "5909:3:0" + }, + "nativeSrc": "5909:9:0", + "nodeType": "YulFunctionCall", + "src": "5909:9:0" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5904:1:0", + "nodeType": "YulIdentifier", + "src": "5904:1:0" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5834:42:0", + "nodeType": "YulBlock", + "src": "5834:42:0", + "statements": [ + { + "nativeSrc": "5852:10:0", + "nodeType": "YulVariableDeclaration", + "src": "5852:10:0", + "value": { + "kind": "number", + "nativeSrc": "5861:1:0", + "nodeType": "YulLiteral", + "src": "5861:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5856:1:0", + "nodeType": "YulTypedName", + "src": "5856:1:0", + "type": "" + } + ] + } + ] + }, + "src": "5830:313:0" + }, + { + "cases": [ + { + "body": { + "nativeSrc": "6194:40:0", + "nodeType": "YulBlock", + "src": "6194:40:0", + "statements": [ + { + "nativeSrc": "6212:8:0", + "nodeType": "YulAssignment", + "src": "6212:8:0", + "value": { + "name": "acc", + "nativeSrc": "6217:3:0", + "nodeType": "YulIdentifier", + "src": "6217:3:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6212:1:0", + "nodeType": "YulIdentifier", + "src": "6212:1:0" + } + ] + } + ] + }, + "nativeSrc": "6187:47:0", + "nodeType": "YulCase", + "src": "6187:47:0", + "value": { + "kind": "number", + "nativeSrc": "6192:1:0", + "nodeType": "YulLiteral", + "src": "6192:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nativeSrc": "6254:48:0", + "nodeType": "YulBlock", + "src": "6254:48:0", + "statements": [ + { + "nativeSrc": "6272:16:0", + "nodeType": "YulAssignment", + "src": "6272:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6281:3:0", + "nodeType": "YulIdentifier", + "src": "6281:3:0" + }, + { + "kind": "number", + "nativeSrc": "6286:1:0", + "nodeType": "YulLiteral", + "src": "6286:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6277:3:0", + "nodeType": "YulIdentifier", + "src": "6277:3:0" + }, + "nativeSrc": "6277:11:0", + "nodeType": "YulFunctionCall", + "src": "6277:11:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6272:1:0", + "nodeType": "YulIdentifier", + "src": "6272:1:0" + } + ] + } + ] + }, + "nativeSrc": "6247:55:0", + "nodeType": "YulCase", + "src": "6247:55:0", + "value": { + "kind": "number", + "nativeSrc": "6252:1:0", + "nodeType": "YulLiteral", + "src": "6252:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "6323:38:0", + "nodeType": "YulBlock", + "src": "6323:38:0", + "statements": [ + { + "nativeSrc": "6341:6:0", + "nodeType": "YulAssignment", + "src": "6341:6:0", + "value": { + "kind": "number", + "nativeSrc": "6346:1:0", + "nodeType": "YulLiteral", + "src": "6346:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6341:1:0", + "nodeType": "YulIdentifier", + "src": "6341:1:0" + } + ] + } + ] + }, + "nativeSrc": "6315:46:0", + "nodeType": "YulCase", + "src": "6315:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6167:3:0", + "nodeType": "YulIdentifier", + "src": "6167:3:0" + }, + { + "kind": "number", + "nativeSrc": "6172:1:0", + "nodeType": "YulLiteral", + "src": "6172:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6163:3:0", + "nodeType": "YulIdentifier", + "src": "6163:3:0" + }, + "nativeSrc": "6163:11:0", + "nodeType": "YulFunctionCall", + "src": "6163:11:0" + }, + "nativeSrc": "6156:205:0", + "nodeType": "YulSwitch", + "src": "6156:205:0" + }, + { + "nativeSrc": "6374:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6374:16:0", + "value": { + "hexValue": "79756c", + "kind": "string", + "nativeSrc": "6385:5:0", + "nodeType": "YulLiteral", + "src": "6385:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nativeSrc": "6378:3:0", + "nodeType": "YulTypedName", + "src": "6378:3:0", + "type": "" + } + ] + }, + { + "nativeSrc": "6403:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6403:16:0", + "value": { + "kind": "bool", + "nativeSrc": "6415:4:0", + "nodeType": "YulLiteral", + "src": "6415:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nativeSrc": "6407:4:0", + "nodeType": "YulTypedName", + "src": "6407:4:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6458:49:0", + "nodeType": "YulBlock", + "src": "6458:49:0", + "statements": [ + { + "nativeSrc": "6476:17:0", + "nodeType": "YulAssignment", + "src": "6476:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6486:1:0", + "nodeType": "YulLiteral", + "src": "6486:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nativeSrc": "6489:3:0", + "nodeType": "YulIdentifier", + "src": "6489:3:0" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "6481:4:0", + "nodeType": "YulIdentifier", + "src": "6481:4:0" + }, + "nativeSrc": "6481:12:0", + "nodeType": "YulFunctionCall", + "src": "6481:12:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6476:1:0", + "nodeType": "YulIdentifier", + "src": "6476:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nativeSrc": "6439:4:0", + "nodeType": "YulIdentifier", + "src": "6439:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nativeSrc": "6448:1:0", + "nodeType": "YulIdentifier", + "src": "6448:1:0" + }, + { + "kind": "number", + "nativeSrc": "6451:4:0", + "nodeType": "YulLiteral", + "src": "6451:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6445:2:0", + "nodeType": "YulIdentifier", + "src": "6445:2:0" + }, + "nativeSrc": "6445:11:0", + "nodeType": "YulFunctionCall", + "src": "6445:11:0" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6435:3:0", + "nodeType": "YulIdentifier", + "src": "6435:3:0" + }, + "nativeSrc": "6435:22:0", + "nodeType": "YulFunctionCall", + "src": "6435:22:0" + }, + "nativeSrc": "6432:75:0", + "nodeType": "YulIf", + "src": "6432:75:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "prague", + "externalReferences": [ + { + "declaration": 660, + "isOffset": false, + "isSlot": false, + "src": "5883:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6212:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6272:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6341:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6448:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6476:1:0", + "valueSize": 1 + } + ], + "id": 665, + "nodeType": "InlineAssembly", + "src": "5624:893:0" + } + ] + }, + "667": { + "body": { + "certora_contract_name": "Diamond", + "id": 666, + "nodeType": "Block", + "src": "5614:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nativeSrc": "5633:884:0", + "nodeType": "YulBlock", + "src": "5633:884:0", + "statements": [ + { + "body": { + "nativeSrc": "5671:121:0", + "nodeType": "YulBlock", + "src": "5671:121:0", + "statements": [ + { + "body": { + "nativeSrc": "5702:45:0", + "nodeType": "YulBlock", + "src": "5702:45:0", + "statements": [ + { + "nativeSrc": "5724:5:0", + "nodeType": "YulLeave", + "src": "5724:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5699:1:0", + "nodeType": "YulIdentifier", + "src": "5699:1:0" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5692:6:0", + "nodeType": "YulIdentifier", + "src": "5692:6:0" + }, + "nativeSrc": "5692:9:0", + "nodeType": "YulFunctionCall", + "src": "5692:9:0" + }, + "nativeSrc": "5689:58:0", + "nodeType": "YulIf", + "src": "5689:58:0" + }, + { + "nativeSrc": "5764:14:0", + "nodeType": "YulAssignment", + "src": "5764:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5773:1:0", + "nodeType": "YulIdentifier", + "src": "5773:1:0" + }, + { + "kind": "number", + "nativeSrc": "5776:1:0", + "nodeType": "YulLiteral", + "src": "5776:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5769:3:0", + "nodeType": "YulIdentifier", + "src": "5769:3:0" + }, + "nativeSrc": "5769:9:0", + "nodeType": "YulFunctionCall", + "src": "5769:9:0" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "5764:1:0", + "nodeType": "YulIdentifier", + "src": "5764:1:0" + } + ] + } + ] + }, + "name": "double", + "nativeSrc": "5647:145:0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nativeSrc": "5663:1:0", + "nodeType": "YulTypedName", + "src": "5663:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nativeSrc": "5669:1:0", + "nodeType": "YulTypedName", + "src": "5669:1:0", + "type": "" + } + ], + "src": "5647:145:0" + }, + { + "nativeSrc": "5805:12:0", + "nodeType": "YulVariableDeclaration", + "src": "5805:12:0", + "value": { + "kind": "number", + "nativeSrc": "5816:1:0", + "nodeType": "YulLiteral", + "src": "5816:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nativeSrc": "5809:3:0", + "nodeType": "YulTypedName", + "src": "5809:3:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5933:210:0", + "nodeType": "YulBlock", + "src": "5933:210:0", + "statements": [ + { + "body": { + "nativeSrc": "5963:48:0", + "nodeType": "YulBlock", + "src": "5963:48:0", + "statements": [ + { + "nativeSrc": "5985:8:0", + "nodeType": "YulContinue", + "src": "5985:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5957:1:0", + "nodeType": "YulIdentifier", + "src": "5957:1:0" + }, + { + "kind": "number", + "nativeSrc": "5960:1:0", + "nodeType": "YulLiteral", + "src": "5960:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5954:2:0", + "nodeType": "YulIdentifier", + "src": "5954:2:0" + }, + "nativeSrc": "5954:8:0", + "nodeType": "YulFunctionCall", + "src": "5954:8:0" + }, + "nativeSrc": "5951:60:0", + "nodeType": "YulIf", + "src": "5951:60:0" + }, + { + "body": { + "nativeSrc": "6041:45:0", + "nodeType": "YulBlock", + "src": "6041:45:0", + "statements": [ + { + "nativeSrc": "6063:5:0", + "nodeType": "YulBreak", + "src": "6063:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6034:1:0", + "nodeType": "YulIdentifier", + "src": "6034:1:0" + }, + { + "kind": "number", + "nativeSrc": "6037:2:0", + "nodeType": "YulLiteral", + "src": "6037:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6031:2:0", + "nodeType": "YulIdentifier", + "src": "6031:2:0" + }, + "nativeSrc": "6031:9:0", + "nodeType": "YulFunctionCall", + "src": "6031:9:0" + }, + "nativeSrc": "6028:58:0", + "nodeType": "YulIf", + "src": "6028:58:0" + }, + { + "nativeSrc": "6103:26:0", + "nodeType": "YulAssignment", + "src": "6103:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6114:3:0", + "nodeType": "YulIdentifier", + "src": "6114:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nativeSrc": "6126:1:0", + "nodeType": "YulIdentifier", + "src": "6126:1:0" + } + ], + "functionName": { + "name": "double", + "nativeSrc": "6119:6:0", + "nodeType": "YulIdentifier", + "src": "6119:6:0" + }, + "nativeSrc": "6119:9:0", + "nodeType": "YulFunctionCall", + "src": "6119:9:0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6110:3:0", + "nodeType": "YulIdentifier", + "src": "6110:3:0" + }, + "nativeSrc": "6110:19:0", + "nodeType": "YulFunctionCall", + "src": "6110:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nativeSrc": "6103:3:0", + "nodeType": "YulIdentifier", + "src": "6103:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5880:1:0", + "nodeType": "YulIdentifier", + "src": "5880:1:0" + }, + { + "name": "n", + "nativeSrc": "5883:1:0", + "nodeType": "YulIdentifier", + "src": "5883:1:0" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5877:2:0", + "nodeType": "YulIdentifier", + "src": "5877:2:0" + }, + "nativeSrc": "5877:8:0", + "nodeType": "YulFunctionCall", + "src": "5877:8:0" + }, + "nativeSrc": "5830:313:0", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5886:46:0", + "nodeType": "YulBlock", + "src": "5886:46:0", + "statements": [ + { + "nativeSrc": "5904:14:0", + "nodeType": "YulAssignment", + "src": "5904:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5913:1:0", + "nodeType": "YulIdentifier", + "src": "5913:1:0" + }, + { + "kind": "number", + "nativeSrc": "5916:1:0", + "nodeType": "YulLiteral", + "src": "5916:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5909:3:0", + "nodeType": "YulIdentifier", + "src": "5909:3:0" + }, + "nativeSrc": "5909:9:0", + "nodeType": "YulFunctionCall", + "src": "5909:9:0" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5904:1:0", + "nodeType": "YulIdentifier", + "src": "5904:1:0" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5834:42:0", + "nodeType": "YulBlock", + "src": "5834:42:0", + "statements": [ + { + "nativeSrc": "5852:10:0", + "nodeType": "YulVariableDeclaration", + "src": "5852:10:0", + "value": { + "kind": "number", + "nativeSrc": "5861:1:0", + "nodeType": "YulLiteral", + "src": "5861:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5856:1:0", + "nodeType": "YulTypedName", + "src": "5856:1:0", + "type": "" + } + ] + } + ] + }, + "src": "5830:313:0" + }, + { + "cases": [ + { + "body": { + "nativeSrc": "6194:40:0", + "nodeType": "YulBlock", + "src": "6194:40:0", + "statements": [ + { + "nativeSrc": "6212:8:0", + "nodeType": "YulAssignment", + "src": "6212:8:0", + "value": { + "name": "acc", + "nativeSrc": "6217:3:0", + "nodeType": "YulIdentifier", + "src": "6217:3:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6212:1:0", + "nodeType": "YulIdentifier", + "src": "6212:1:0" + } + ] + } + ] + }, + "nativeSrc": "6187:47:0", + "nodeType": "YulCase", + "src": "6187:47:0", + "value": { + "kind": "number", + "nativeSrc": "6192:1:0", + "nodeType": "YulLiteral", + "src": "6192:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nativeSrc": "6254:48:0", + "nodeType": "YulBlock", + "src": "6254:48:0", + "statements": [ + { + "nativeSrc": "6272:16:0", + "nodeType": "YulAssignment", + "src": "6272:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6281:3:0", + "nodeType": "YulIdentifier", + "src": "6281:3:0" + }, + { + "kind": "number", + "nativeSrc": "6286:1:0", + "nodeType": "YulLiteral", + "src": "6286:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6277:3:0", + "nodeType": "YulIdentifier", + "src": "6277:3:0" + }, + "nativeSrc": "6277:11:0", + "nodeType": "YulFunctionCall", + "src": "6277:11:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6272:1:0", + "nodeType": "YulIdentifier", + "src": "6272:1:0" + } + ] + } + ] + }, + "nativeSrc": "6247:55:0", + "nodeType": "YulCase", + "src": "6247:55:0", + "value": { + "kind": "number", + "nativeSrc": "6252:1:0", + "nodeType": "YulLiteral", + "src": "6252:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "6323:38:0", + "nodeType": "YulBlock", + "src": "6323:38:0", + "statements": [ + { + "nativeSrc": "6341:6:0", + "nodeType": "YulAssignment", + "src": "6341:6:0", + "value": { + "kind": "number", + "nativeSrc": "6346:1:0", + "nodeType": "YulLiteral", + "src": "6346:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6341:1:0", + "nodeType": "YulIdentifier", + "src": "6341:1:0" + } + ] + } + ] + }, + "nativeSrc": "6315:46:0", + "nodeType": "YulCase", + "src": "6315:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6167:3:0", + "nodeType": "YulIdentifier", + "src": "6167:3:0" + }, + { + "kind": "number", + "nativeSrc": "6172:1:0", + "nodeType": "YulLiteral", + "src": "6172:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6163:3:0", + "nodeType": "YulIdentifier", + "src": "6163:3:0" + }, + "nativeSrc": "6163:11:0", + "nodeType": "YulFunctionCall", + "src": "6163:11:0" + }, + "nativeSrc": "6156:205:0", + "nodeType": "YulSwitch", + "src": "6156:205:0" + }, + { + "nativeSrc": "6374:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6374:16:0", + "value": { + "hexValue": "79756c", + "kind": "string", + "nativeSrc": "6385:5:0", + "nodeType": "YulLiteral", + "src": "6385:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nativeSrc": "6378:3:0", + "nodeType": "YulTypedName", + "src": "6378:3:0", + "type": "" + } + ] + }, + { + "nativeSrc": "6403:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6403:16:0", + "value": { + "kind": "bool", + "nativeSrc": "6415:4:0", + "nodeType": "YulLiteral", + "src": "6415:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nativeSrc": "6407:4:0", + "nodeType": "YulTypedName", + "src": "6407:4:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6458:49:0", + "nodeType": "YulBlock", + "src": "6458:49:0", + "statements": [ + { + "nativeSrc": "6476:17:0", + "nodeType": "YulAssignment", + "src": "6476:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6486:1:0", + "nodeType": "YulLiteral", + "src": "6486:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nativeSrc": "6489:3:0", + "nodeType": "YulIdentifier", + "src": "6489:3:0" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "6481:4:0", + "nodeType": "YulIdentifier", + "src": "6481:4:0" + }, + "nativeSrc": "6481:12:0", + "nodeType": "YulFunctionCall", + "src": "6481:12:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6476:1:0", + "nodeType": "YulIdentifier", + "src": "6476:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nativeSrc": "6439:4:0", + "nodeType": "YulIdentifier", + "src": "6439:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nativeSrc": "6448:1:0", + "nodeType": "YulIdentifier", + "src": "6448:1:0" + }, + { + "kind": "number", + "nativeSrc": "6451:4:0", + "nodeType": "YulLiteral", + "src": "6451:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6445:2:0", + "nodeType": "YulIdentifier", + "src": "6445:2:0" + }, + "nativeSrc": "6445:11:0", + "nodeType": "YulFunctionCall", + "src": "6445:11:0" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6435:3:0", + "nodeType": "YulIdentifier", + "src": "6435:3:0" + }, + "nativeSrc": "6435:22:0", + "nodeType": "YulFunctionCall", + "src": "6435:22:0" + }, + "nativeSrc": "6432:75:0", + "nodeType": "YulIf", + "src": "6432:75:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "prague", + "externalReferences": [ + { + "declaration": 660, + "isOffset": false, + "isSlot": false, + "src": "5883:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6212:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6272:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6341:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6448:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6476:1:0", + "valueSize": 1 + } + ], + "id": 665, + "nodeType": "InlineAssembly", + "src": "5624:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "692103d0", + "id": 667, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nameLocation": "5562:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 661, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 660, + "mutability": "mutable", + "name": "n", + "nameLocation": "5579:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5571:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5571:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5570:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 664, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "r", + "nameLocation": "5611:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5603:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5603:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5602:11:0" + }, + "scope": 668, + "src": "5553:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + "668": { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Left", + "nameLocations": [ + "2178:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2178:4:0" + }, + "certora_contract_name": "Diamond", + "id": 210, + "nodeType": "InheritanceSpecifier", + "src": "2178:4:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "Right", + "nameLocations": [ + "2184:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2184:5:0" + }, + "certora_contract_name": "Diamond", + "id": 212, + "nodeType": "InheritanceSpecifier", + "src": "2184:5:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 213, + "name": "IToken", + "nameLocations": [ + "2191:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "2191:6:0" + }, + "certora_contract_name": "Diamond", + "id": 214, + "nodeType": "InheritanceSpecifier", + "src": "2191:6:0" + } + ], + "canonicalName": "Diamond", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 668, + "internalFunctionIDs": { + "424": 1, + "certora_contract_name": "Diamond" + }, + "linearizedBaseContracts": [ + 668, + 99, + 208, + 196, + 184 + ], + "name": "Diamond", + "nameLocation": "2167:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "global": false, + "id": 217, + "libraryName": { + "certora_contract_name": "Diamond", + "id": 215, + "name": "MathLib", + "nameLocations": [ + "2210:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 128, + "src": "2210:7:0" + }, + "nodeType": "UsingForDirective", + "src": "2204:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2222:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 222, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2341:8:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2292:57:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 221, + "keyName": "owner", + "keyNameLocation": "2308:5:0", + "keyType": { + "certora_contract_name": "Diamond", + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2300:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2292:41:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueName": "account", + "valueNameLocation": "2325:7:0", + "valueType": { + "certora_contract_name": "Diamond", + "id": 220, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "Account", + "nameLocations": [ + "2317:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "2317:7:0" + }, + "referencedDeclaration": 137, + "src": "2317:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "history", + "nameLocation": "2374:7:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2355:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2355:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 224, + "nodeType": "ArrayTypeName", + "src": "2355:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 228, + "mutability": "mutable", + "name": "phase", + "nameLocation": "2400:5:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2387:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 227, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 226, + "name": "Phase", + "nameLocations": [ + "2387:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "2387:5:0" + }, + "referencedDeclaration": 132, + "src": "2387:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "9363c812", + "id": 231, + "mutability": "mutable", + "name": "floorPrice", + "nameLocation": "2424:10:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2411:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 230, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "Price", + "nameLocations": [ + "2411:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "2411:5:0" + }, + "referencedDeclaration": 3, + "src": "2411:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 266, + "nodeType": "Block", + "src": "2486:163:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2496:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 246, + "nodeType": "ExpressionStatement", + "src": "2496:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2562:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "2562:18:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "2590:52:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "2590:52:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 267, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 236, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 233, + "mutability": "mutable", + "name": "firstUser", + "nameLocation": "2461:9:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2453:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "seed", + "nameLocation": "2480:4:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2472:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2452:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 237, + "nodeType": "ParameterList", + "parameters": [], + "src": "2486:0:0" + }, + "scope": 668, + "src": "2441:208:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 195, + 207 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 288, + "nodeType": "Block", + "src": "2718:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "src": "2728:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "id": 279, + "nodeType": "ExpressionStatement", + "src": "2728:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 283, + "nodeType": "EmitStatement", + "src": "2758:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 274, + "id": 287, + "nodeType": "Return", + "src": "2792:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "5c36b186", + "id": 289, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "2664:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 269, + "name": "Left", + "nameLocations": [ + "2687:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2687:4:0" + }, + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "Right", + "nameLocations": [ + "2693:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2693:5:0" + } + ], + "src": "2678:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [], + "src": "2668:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 289, + "src": "2709:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2709:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2708:9:0" + }, + "scope": 668, + "src": "2655:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 98 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 302, + "nodeType": "Block", + "src": "2897:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "2914:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 296, + "id": 301, + "nodeType": "Return", + "src": "2907:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "70a08231", + "id": 303, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2833:9:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 293, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2870:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "who", + "nameLocation": "2851:3:0", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2843:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2843:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2842:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 296, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2888:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2887:9:0" + }, + "scope": 668, + "src": "2824:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 363, + "nodeType": "Block", + "src": "3027:363:0", + "statements": [ + { + "assignments": [ + 316 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "from", + "nameLocation": "3053:4:0", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "3037:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 321, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 320, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3060:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3037:43:0" + }, + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3094:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 333, + "nodeType": "IfStatement", + "src": "3090:91:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 332, + "nodeType": "Block", + "src": "3116:65:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "UncheckedBlock", + "src": "3190:56:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 339, + "nodeType": "ExpressionStatement", + "src": "3214:21:0" + } + ] + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3255:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "3255:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3331:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "EmitStatement", + "src": "3326:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3379:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 313, + "id": 362, + "nodeType": "Return", + "src": "3372:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "a9059cbb", + "id": 364, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 309, + "name": "onlyOwner", + "nameLocations": [ + "3002:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "3002:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3002:9:0" + } + ], + "name": "transfer", + "nameLocation": "2957:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "to", + "nameLocation": "2974:2:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2966:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 307, + "mutability": "mutable", + "name": "value", + "nameLocation": "2986:5:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2978:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2965:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 313, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "3021:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3021:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3020:6:0" + }, + "scope": 668, + "src": "2948:442:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 389, + "nodeType": "Block", + "src": "3519:87:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 51, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3533:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 384, + "nodeType": "IfStatement", + "src": "3529:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 383, + "nodeType": "Block", + "src": "3541:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3594:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 388, + "nodeType": "Return", + "src": "3587:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "f5dff84f", + "id": 390, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "total", + "nameLocation": "3467:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 371, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "a", + "nameLocation": "3479:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3473:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "referencedDeclaration": 3, + "src": "3473:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "b", + "nameLocation": "3488:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3482:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "referencedDeclaration": 3, + "src": "3482:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3472:18:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 375, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 374, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3512:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "referencedDeclaration": 3, + "src": "3512:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3511:7:0" + }, + "scope": 668, + "src": "3458:148:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 411, + "nodeType": "Block", + "src": "3750:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 404, + "id": 410, + "nodeType": "Return", + "src": "3760:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 412, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nameLocation": "3621:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 401, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 398, + "mutability": "mutable", + "name": "f", + "nameLocation": "3691:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3641:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 397, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "src": "3641:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "x", + "nameLocation": "3710:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3702:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3702:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3631:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 404, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 403, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3741:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3741:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3740:9:0" + }, + "scope": 668, + "src": "3612:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 423, + "nodeType": "Block", + "src": "3844:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3861:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 418, + "id": 422, + "nodeType": "Return", + "src": "3854:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nameLocation": "3796:4:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 415, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 414, + "mutability": "mutable", + "name": "x", + "nameLocation": "3809:1:0", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3801:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3800:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3835:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3834:9:0" + }, + "scope": 668, + "src": "3787:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 461, + "nodeType": "Block", + "src": "4003:108:0", + "statements": [ + { + "assignments": [ + 436 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "m", + "nameLocation": "4021:1:0", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "4013:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 443, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4025:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4013:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4048:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "4048:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4079:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 460, + "nodeType": "ExpressionStatement", + "src": "4079:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "bbda574c", + "id": 462, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nameLocation": "3888:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 429, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 426, + "mutability": "mutable", + "name": "a", + "nameLocation": "3916:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3908:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3908:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "b", + "nameLocation": "3927:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3919:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3907:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "lo", + "nameLocation": "3983:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3975:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3975:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "hi", + "nameLocation": "3995:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3987:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3987:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3974:24:0" + }, + "scope": 668, + "src": "3879:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "Block", + "src": "4197:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 482, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "src": "4232:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 489, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "src": "4294:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 500, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "src": "4355:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4211:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 501, + "nodeType": "TryStatement", + "src": "4207:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "aec5299f", + "id": 503, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nameLocation": "4126:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 468, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "token", + "nameLocation": "4145:5:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4138:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "referencedDeclaration": 99, + "src": "4138:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "who", + "nameLocation": "4160:3:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4152:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4137:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 471, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4188:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4187:9:0" + }, + "scope": 668, + "src": "4117:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 526, + "nodeType": "Block", + "src": "4526:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4536:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 517, + "nodeType": "ExpressionStatement", + "src": "4536:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "4571:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "4571:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "43b0ea25", + "id": 527, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "codeProbe", + "nameLocation": "4446:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 506, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 505, + "mutability": "mutable", + "name": "target", + "nameLocation": "4464:6:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4456:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4456:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4455:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "size", + "nameLocation": "4501:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4493:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4493:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "blob", + "nameLocation": "4520:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4507:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4507:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4492:33:0" + }, + "scope": 668, + "src": "4437:166:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 539, + "nodeType": "Block", + "src": "4734:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "certora_contract_name": "Diamond", + "endExpression": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4751:9:0", + "startExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "functionReturnParameters": 533, + "id": 538, + "nodeType": "Return", + "src": "4744:16:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "655f4111", + "id": 540, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "selectorOf", + "nameLocation": "4663:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 530, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 529, + "mutability": "mutable", + "name": "data", + "nameLocation": "4689:4:0", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4674:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 528, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4674:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4673:21:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4718:14:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4718:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4717:16:0" + }, + "scope": 668, + "src": "4654:113:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 627, + "nodeType": "Block", + "src": "4839:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 573, + "nodeType": "Block", + "src": "4881:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4869:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 574, + "initializationExpression": { + "assignments": [ + 548 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4854:13:0" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "4876:3:0" + }, + "nodeType": "ForStatement", + "src": "4849:186:0" + }, + { + "assignments": [ + 576 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "j", + "nameLocation": "5052:1:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5044:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 578, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5056:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5044:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 585, + "nodeType": "Block", + "src": "5081:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5074:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 586, + "nodeType": "WhileStatement", + "src": "5067:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 593, + "nodeType": "Block", + "src": "5121:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 597, + "nodeType": "DoWhileStatement", + "src": "5118:58:0" + }, + { + "assignments": [ + 602 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "scratch", + "nameLocation": "5202:7:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5185:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 610, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5212:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5242:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 616, + "nodeType": "ExpressionStatement", + "src": "5242:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5268:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 621, + "nodeType": "ExpressionStatement", + "src": "5268:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5295:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 626, + "nodeType": "ExpressionStatement", + "src": "5295:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "90dc1163", + "id": 628, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nameLocation": "4782:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 543, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 542, + "mutability": "mutable", + "name": "n", + "nameLocation": "4802:1:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4794:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4794:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4793:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 546, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "acc", + "nameLocation": "4834:3:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4826:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4826:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4825:13:0" + }, + "scope": 668, + "src": "4773:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 649, + "nodeType": "Block", + "src": "5388:88:0", + "statements": [ + { + "assignments": [ + 636, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "ok", + "nameLocation": "5404:2:0", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "5399:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 643, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5412:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5398:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5443:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 648, + "nodeType": "ExpressionStatement", + "src": "5443:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "d5b488b2", + "id": 650, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 633, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 632, + "name": "onlyOwner", + "nameLocations": [ + "5378:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "5378:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5378:9:0" + } + ], + "name": "sendNothing", + "nameLocation": "5337:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 631, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "to", + "nameLocation": "5365:2:0", + "nodeType": "VariableDeclaration", + "scope": 650, + "src": "5349:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "5348:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "5388:0:0" + }, + "scope": 668, + "src": "5328:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 653, + "nodeType": "Block", + "src": "5509:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 654, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 651, + "nodeType": "ParameterList", + "parameters": [], + "src": "5489:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 652, + "nodeType": "ParameterList", + "parameters": [], + "src": "5509:0:0" + }, + "scope": 668, + "src": "5482:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 657, + "nodeType": "Block", + "src": "5545:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 658, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 655, + "nodeType": "ParameterList", + "parameters": [], + "src": "5525:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 656, + "nodeType": "ParameterList", + "parameters": [], + "src": "5545:0:0" + }, + "scope": 668, + "src": "5517:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 666, + "nodeType": "Block", + "src": "5614:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nativeSrc": "5633:884:0", + "nodeType": "YulBlock", + "src": "5633:884:0", + "statements": [ + { + "body": { + "nativeSrc": "5671:121:0", + "nodeType": "YulBlock", + "src": "5671:121:0", + "statements": [ + { + "body": { + "nativeSrc": "5702:45:0", + "nodeType": "YulBlock", + "src": "5702:45:0", + "statements": [ + { + "nativeSrc": "5724:5:0", + "nodeType": "YulLeave", + "src": "5724:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5699:1:0", + "nodeType": "YulIdentifier", + "src": "5699:1:0" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5692:6:0", + "nodeType": "YulIdentifier", + "src": "5692:6:0" + }, + "nativeSrc": "5692:9:0", + "nodeType": "YulFunctionCall", + "src": "5692:9:0" + }, + "nativeSrc": "5689:58:0", + "nodeType": "YulIf", + "src": "5689:58:0" + }, + { + "nativeSrc": "5764:14:0", + "nodeType": "YulAssignment", + "src": "5764:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5773:1:0", + "nodeType": "YulIdentifier", + "src": "5773:1:0" + }, + { + "kind": "number", + "nativeSrc": "5776:1:0", + "nodeType": "YulLiteral", + "src": "5776:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5769:3:0", + "nodeType": "YulIdentifier", + "src": "5769:3:0" + }, + "nativeSrc": "5769:9:0", + "nodeType": "YulFunctionCall", + "src": "5769:9:0" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "5764:1:0", + "nodeType": "YulIdentifier", + "src": "5764:1:0" + } + ] + } + ] + }, + "name": "double", + "nativeSrc": "5647:145:0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nativeSrc": "5663:1:0", + "nodeType": "YulTypedName", + "src": "5663:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nativeSrc": "5669:1:0", + "nodeType": "YulTypedName", + "src": "5669:1:0", + "type": "" + } + ], + "src": "5647:145:0" + }, + { + "nativeSrc": "5805:12:0", + "nodeType": "YulVariableDeclaration", + "src": "5805:12:0", + "value": { + "kind": "number", + "nativeSrc": "5816:1:0", + "nodeType": "YulLiteral", + "src": "5816:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nativeSrc": "5809:3:0", + "nodeType": "YulTypedName", + "src": "5809:3:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5933:210:0", + "nodeType": "YulBlock", + "src": "5933:210:0", + "statements": [ + { + "body": { + "nativeSrc": "5963:48:0", + "nodeType": "YulBlock", + "src": "5963:48:0", + "statements": [ + { + "nativeSrc": "5985:8:0", + "nodeType": "YulContinue", + "src": "5985:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5957:1:0", + "nodeType": "YulIdentifier", + "src": "5957:1:0" + }, + { + "kind": "number", + "nativeSrc": "5960:1:0", + "nodeType": "YulLiteral", + "src": "5960:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5954:2:0", + "nodeType": "YulIdentifier", + "src": "5954:2:0" + }, + "nativeSrc": "5954:8:0", + "nodeType": "YulFunctionCall", + "src": "5954:8:0" + }, + "nativeSrc": "5951:60:0", + "nodeType": "YulIf", + "src": "5951:60:0" + }, + { + "body": { + "nativeSrc": "6041:45:0", + "nodeType": "YulBlock", + "src": "6041:45:0", + "statements": [ + { + "nativeSrc": "6063:5:0", + "nodeType": "YulBreak", + "src": "6063:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6034:1:0", + "nodeType": "YulIdentifier", + "src": "6034:1:0" + }, + { + "kind": "number", + "nativeSrc": "6037:2:0", + "nodeType": "YulLiteral", + "src": "6037:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6031:2:0", + "nodeType": "YulIdentifier", + "src": "6031:2:0" + }, + "nativeSrc": "6031:9:0", + "nodeType": "YulFunctionCall", + "src": "6031:9:0" + }, + "nativeSrc": "6028:58:0", + "nodeType": "YulIf", + "src": "6028:58:0" + }, + { + "nativeSrc": "6103:26:0", + "nodeType": "YulAssignment", + "src": "6103:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6114:3:0", + "nodeType": "YulIdentifier", + "src": "6114:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nativeSrc": "6126:1:0", + "nodeType": "YulIdentifier", + "src": "6126:1:0" + } + ], + "functionName": { + "name": "double", + "nativeSrc": "6119:6:0", + "nodeType": "YulIdentifier", + "src": "6119:6:0" + }, + "nativeSrc": "6119:9:0", + "nodeType": "YulFunctionCall", + "src": "6119:9:0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6110:3:0", + "nodeType": "YulIdentifier", + "src": "6110:3:0" + }, + "nativeSrc": "6110:19:0", + "nodeType": "YulFunctionCall", + "src": "6110:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nativeSrc": "6103:3:0", + "nodeType": "YulIdentifier", + "src": "6103:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5880:1:0", + "nodeType": "YulIdentifier", + "src": "5880:1:0" + }, + { + "name": "n", + "nativeSrc": "5883:1:0", + "nodeType": "YulIdentifier", + "src": "5883:1:0" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5877:2:0", + "nodeType": "YulIdentifier", + "src": "5877:2:0" + }, + "nativeSrc": "5877:8:0", + "nodeType": "YulFunctionCall", + "src": "5877:8:0" + }, + "nativeSrc": "5830:313:0", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5886:46:0", + "nodeType": "YulBlock", + "src": "5886:46:0", + "statements": [ + { + "nativeSrc": "5904:14:0", + "nodeType": "YulAssignment", + "src": "5904:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5913:1:0", + "nodeType": "YulIdentifier", + "src": "5913:1:0" + }, + { + "kind": "number", + "nativeSrc": "5916:1:0", + "nodeType": "YulLiteral", + "src": "5916:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5909:3:0", + "nodeType": "YulIdentifier", + "src": "5909:3:0" + }, + "nativeSrc": "5909:9:0", + "nodeType": "YulFunctionCall", + "src": "5909:9:0" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5904:1:0", + "nodeType": "YulIdentifier", + "src": "5904:1:0" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5834:42:0", + "nodeType": "YulBlock", + "src": "5834:42:0", + "statements": [ + { + "nativeSrc": "5852:10:0", + "nodeType": "YulVariableDeclaration", + "src": "5852:10:0", + "value": { + "kind": "number", + "nativeSrc": "5861:1:0", + "nodeType": "YulLiteral", + "src": "5861:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5856:1:0", + "nodeType": "YulTypedName", + "src": "5856:1:0", + "type": "" + } + ] + } + ] + }, + "src": "5830:313:0" + }, + { + "cases": [ + { + "body": { + "nativeSrc": "6194:40:0", + "nodeType": "YulBlock", + "src": "6194:40:0", + "statements": [ + { + "nativeSrc": "6212:8:0", + "nodeType": "YulAssignment", + "src": "6212:8:0", + "value": { + "name": "acc", + "nativeSrc": "6217:3:0", + "nodeType": "YulIdentifier", + "src": "6217:3:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6212:1:0", + "nodeType": "YulIdentifier", + "src": "6212:1:0" + } + ] + } + ] + }, + "nativeSrc": "6187:47:0", + "nodeType": "YulCase", + "src": "6187:47:0", + "value": { + "kind": "number", + "nativeSrc": "6192:1:0", + "nodeType": "YulLiteral", + "src": "6192:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nativeSrc": "6254:48:0", + "nodeType": "YulBlock", + "src": "6254:48:0", + "statements": [ + { + "nativeSrc": "6272:16:0", + "nodeType": "YulAssignment", + "src": "6272:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6281:3:0", + "nodeType": "YulIdentifier", + "src": "6281:3:0" + }, + { + "kind": "number", + "nativeSrc": "6286:1:0", + "nodeType": "YulLiteral", + "src": "6286:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6277:3:0", + "nodeType": "YulIdentifier", + "src": "6277:3:0" + }, + "nativeSrc": "6277:11:0", + "nodeType": "YulFunctionCall", + "src": "6277:11:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6272:1:0", + "nodeType": "YulIdentifier", + "src": "6272:1:0" + } + ] + } + ] + }, + "nativeSrc": "6247:55:0", + "nodeType": "YulCase", + "src": "6247:55:0", + "value": { + "kind": "number", + "nativeSrc": "6252:1:0", + "nodeType": "YulLiteral", + "src": "6252:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "6323:38:0", + "nodeType": "YulBlock", + "src": "6323:38:0", + "statements": [ + { + "nativeSrc": "6341:6:0", + "nodeType": "YulAssignment", + "src": "6341:6:0", + "value": { + "kind": "number", + "nativeSrc": "6346:1:0", + "nodeType": "YulLiteral", + "src": "6346:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6341:1:0", + "nodeType": "YulIdentifier", + "src": "6341:1:0" + } + ] + } + ] + }, + "nativeSrc": "6315:46:0", + "nodeType": "YulCase", + "src": "6315:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6167:3:0", + "nodeType": "YulIdentifier", + "src": "6167:3:0" + }, + { + "kind": "number", + "nativeSrc": "6172:1:0", + "nodeType": "YulLiteral", + "src": "6172:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6163:3:0", + "nodeType": "YulIdentifier", + "src": "6163:3:0" + }, + "nativeSrc": "6163:11:0", + "nodeType": "YulFunctionCall", + "src": "6163:11:0" + }, + "nativeSrc": "6156:205:0", + "nodeType": "YulSwitch", + "src": "6156:205:0" + }, + { + "nativeSrc": "6374:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6374:16:0", + "value": { + "hexValue": "79756c", + "kind": "string", + "nativeSrc": "6385:5:0", + "nodeType": "YulLiteral", + "src": "6385:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nativeSrc": "6378:3:0", + "nodeType": "YulTypedName", + "src": "6378:3:0", + "type": "" + } + ] + }, + { + "nativeSrc": "6403:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6403:16:0", + "value": { + "kind": "bool", + "nativeSrc": "6415:4:0", + "nodeType": "YulLiteral", + "src": "6415:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nativeSrc": "6407:4:0", + "nodeType": "YulTypedName", + "src": "6407:4:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6458:49:0", + "nodeType": "YulBlock", + "src": "6458:49:0", + "statements": [ + { + "nativeSrc": "6476:17:0", + "nodeType": "YulAssignment", + "src": "6476:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6486:1:0", + "nodeType": "YulLiteral", + "src": "6486:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nativeSrc": "6489:3:0", + "nodeType": "YulIdentifier", + "src": "6489:3:0" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "6481:4:0", + "nodeType": "YulIdentifier", + "src": "6481:4:0" + }, + "nativeSrc": "6481:12:0", + "nodeType": "YulFunctionCall", + "src": "6481:12:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6476:1:0", + "nodeType": "YulIdentifier", + "src": "6476:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nativeSrc": "6439:4:0", + "nodeType": "YulIdentifier", + "src": "6439:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nativeSrc": "6448:1:0", + "nodeType": "YulIdentifier", + "src": "6448:1:0" + }, + { + "kind": "number", + "nativeSrc": "6451:4:0", + "nodeType": "YulLiteral", + "src": "6451:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6445:2:0", + "nodeType": "YulIdentifier", + "src": "6445:2:0" + }, + "nativeSrc": "6445:11:0", + "nodeType": "YulFunctionCall", + "src": "6445:11:0" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6435:3:0", + "nodeType": "YulIdentifier", + "src": "6435:3:0" + }, + "nativeSrc": "6435:22:0", + "nodeType": "YulFunctionCall", + "src": "6435:22:0" + }, + "nativeSrc": "6432:75:0", + "nodeType": "YulIf", + "src": "6432:75:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "prague", + "externalReferences": [ + { + "declaration": 660, + "isOffset": false, + "isSlot": false, + "src": "5883:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6212:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6272:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6341:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6448:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6476:1:0", + "valueSize": 1 + } + ], + "id": 665, + "nodeType": "InlineAssembly", + "src": "5624:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "692103d0", + "id": 667, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nameLocation": "5562:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 661, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 660, + "mutability": "mutable", + "name": "n", + "nameLocation": "5579:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5571:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5571:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5570:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 664, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "r", + "nameLocation": "5611:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5603:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5603:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5602:11:0" + }, + "scope": 668, + "src": "5553:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 669, + "src": "2158:4367:0", + "usedErrors": [ + 60, + 66 + ], + "usedEvents": [ + 91, + 149 + ] + }, + "669": { + "absolutePath": "breadth_08.sol", + "exportedSymbols": { + "Base": [ + 184 + ], + "Diamond": [ + 668 + ], + "IToken": [ + 99 + ], + "Insufficient": [ + 66 + ], + "Left": [ + 196 + ], + "MathLib": [ + 128 + ], + "Price": [ + 3 + ], + "Right": [ + 208 + ], + "Unauthorized": [ + 60 + ], + "addPrice": [ + 29 + ], + "clamp": [ + 83 + ], + "eqPrice": [ + 51 + ] + }, + "id": 669, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "384:24:0" + }, + { + "canonicalName": "Price", + "id": 3, + "name": "Price", + "nameLocation": "415:5:0", + "nodeType": "UserDefinedValueTypeDefinition", + "src": "410:22:0", + "underlyingType": { + "id": 2, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "424:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + }, + { + "body": { + "id": 28, + "nodeType": "Block", + "src": "491:61:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 19, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "528:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 17, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "521:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "515:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "515:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 23, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "546:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 21, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "533:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "539:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "533:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "533:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "515:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "expression": { + "id": 15, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "504:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "510:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "504:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "504:45:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 14, + "id": 27, + "nodeType": "Return", + "src": "497:52:0" + } + ] + }, + "id": 29, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "addPrice", + "nameLocation": "443:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "a", + "nameLocation": "458:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "452:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 5, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4, + "name": "Price", + "nameLocations": [ + "452:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "452:5:0" + }, + "referencedDeclaration": 3, + "src": "452:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "b", + "nameLocation": "467:1:0", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "461:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 8, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7, + "name": "Price", + "nameLocations": [ + "461:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "461:5:0" + }, + "referencedDeclaration": 3, + "src": "461:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "451:18:0" + }, + "returnParameters": { + "id": 14, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "484:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 12, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11, + "name": "Price", + "nameLocations": [ + "484:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "484:5:0" + }, + "referencedDeclaration": 3, + "src": "484:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "483:7:0" + }, + "scope": 669, + "src": "434:118:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 50, + "nodeType": "Block", + "src": "609:50:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 42, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32, + "src": "635:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 40, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "622:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "628:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "622:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "622:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 46, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "654:1:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + ], + "expression": { + "id": 44, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "641:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "647:6:0", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "641:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", + "typeString": "function (Price) pure returns (uint128)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "622:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 39, + "id": 49, + "nodeType": "Return", + "src": "615:41:0" + } + ] + }, + "id": 51, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "eqPrice", + "nameLocation": "563:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32, + "mutability": "mutable", + "name": "a", + "nameLocation": "577:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "571:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 31, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30, + "name": "Price", + "nameLocations": [ + "571:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "571:5:0" + }, + "referencedDeclaration": 3, + "src": "571:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35, + "mutability": "mutable", + "name": "b", + "nameLocation": "586:1:0", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "580:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "id": 34, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33, + "name": "Price", + "nameLocations": [ + "580:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "580:5:0" + }, + "referencedDeclaration": 3, + "src": "580:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "570:18:0" + }, + "returnParameters": { + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "603:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 37, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "603:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "602:6:0" + }, + "scope": 669, + "src": "554:105:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "functionList": [ + { + "definition": { + "id": 52, + "name": "addPrice", + "nameLocations": [ + "668:8:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29, + "src": "668:8:0" + }, + "operator": "+" + }, + { + "definition": { + "id": 53, + "name": "eqPrice", + "nameLocations": [ + "683:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51, + "src": "683:7:0" + }, + "operator": "==" + } + ], + "global": true, + "id": 56, + "nodeType": "UsingForDirective", + "src": "661:54:0", + "typeName": { + "id": 55, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54, + "name": "Price", + "nameLocations": [ + "702:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "702:5:0" + }, + "referencedDeclaration": 3, + "src": "702:5:0", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + } + }, + { + "errorSelector": "8e4a23d6", + "id": 60, + "name": "Unauthorized", + "nameLocation": "723:12:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 59, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "who", + "nameLocation": "744:3:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "736:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "735:13:0" + }, + "src": "717:32:0" + }, + { + "errorSelector": "e8620800", + "id": 66, + "name": "Insufficient", + "nameLocation": "756:12:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "requested", + "nameLocation": "777:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "769:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 61, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "769:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "mutability": "mutable", + "name": "available", + "nameLocation": "796:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "788:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "768:38:0" + }, + "src": "750:57:0" + }, + { + "body": { + "id": 82, + "nodeType": "Block", + "src": "891:37:0", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "904:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 76, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "908:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "904:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 79, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "904:21:0", + "trueExpression": { + "id": 78, + "name": "limit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "916:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 74, + "id": 81, + "nodeType": "Return", + "src": "897:28:0" + } + ] + }, + "id": 83, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "clamp", + "nameLocation": "836:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "x", + "nameLocation": "850:1:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "842:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "limit", + "nameLocation": "861:5:0", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "853:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "841:26:0" + }, + "returnParameters": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "882:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "882:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "881:9:0" + }, + "scope": 669, + "src": "827:101:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IToken", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 99, + "linearizedBaseContracts": [ + 99 + ], + "name": "IToken", + "nameLocation": "940:6:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "certora_contract_name": "IToken", + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 91, + "name": "Transfer", + "nameLocation": "959:8:0", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 85, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "984:4:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "968:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "968:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 87, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1006:2:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "990:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 86, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "IToken", + "constant": false, + "id": 89, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1018:5:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1010:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 88, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "967:57:0" + }, + "src": "953:72:0" + }, + { + "certora_contract_name": "IToken", + "functionSelector": "70a08231", + "id": 98, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1040:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "who", + "nameLocation": "1058:3:0", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1050:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1050:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1049:13:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 98, + "src": "1086:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 95, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1086:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1085:9:0" + }, + "scope": 99, + "src": "1031:64:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 669, + "src": "930:167:0", + "usedErrors": [], + "usedEvents": [ + 91 + ] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "MathLib", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 128, + "linearizedBaseContracts": [ + 128 + ], + "name": "MathLib", + "nameLocation": "1107:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 126, + "nodeType": "Block", + "src": "1195:118:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "id": 125, + "nodeType": "UncheckedBlock", + "src": "1205:102:0", + "statements": [ + { + "assignments": [ + 109 + ], + "certora_contract_name": "MathLib", + "declarations": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "c", + "nameLocation": "1237:1:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "1229:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 110, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1241:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 111, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1245:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1241:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1229:17:0" + }, + { + "certora_contract_name": "MathLib", + "expression": { + "certora_contract_name": "MathLib", + "condition": { + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "MathLib", + "id": 114, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1267:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "MathLib", + "id": 115, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1271:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1267:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "MathLib", + "id": 122, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1295:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1267:29:0", + "trueExpression": { + "certora_contract_name": "MathLib", + "expression": { + "arguments": [ + { + "certora_contract_name": "MathLib", + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib" + } + } + } + ], + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "MathLib", + "id": 117, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1275:4:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1275:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1289:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1275:17:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 107, + "id": 124, + "nodeType": "Return", + "src": "1260:36:0" + } + ] + } + ] + }, + "certora_contract_name": "MathLib", + "id": 127, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "clampedAdd", + "nameLocation": "1130:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 104, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "a", + "nameLocation": "1149:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1141:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1141:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 103, + "mutability": "mutable", + "name": "b", + "nameLocation": "1160:1:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1152:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1140:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 107, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1186:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1185:9:0" + }, + "scope": 128, + "src": "1121:192:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 669, + "src": "1099:216:0", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Base", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "id": 184, + "linearizedBaseContracts": [ + 184 + ], + "name": "Base", + "nameLocation": "1335:4:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Base.Phase", + "certora_contract_name": "Base", + "id": 132, + "members": [ + { + "certora_contract_name": "Base", + "id": 129, + "name": "Init", + "nameLocation": "1367:4:0", + "nodeType": "EnumValue", + "src": "1367:4:0" + }, + { + "certora_contract_name": "Base", + "id": 130, + "name": "Active", + "nameLocation": "1381:6:0", + "nodeType": "EnumValue", + "src": "1381:6:0" + }, + { + "certora_contract_name": "Base", + "id": 131, + "name": "Done", + "nameLocation": "1397:4:0", + "nodeType": "EnumValue", + "src": "1397:4:0" + } + ], + "name": "Phase", + "nameLocation": "1351:5:0", + "nodeType": "EnumDefinition", + "src": "1346:61:0" + }, + { + "canonicalName": "Base.Account", + "certora_contract_name": "Base", + "id": 137, + "members": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1446:7:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1438:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1438:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 136, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1470:5:0", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1463:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 135, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1463:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Account", + "nameLocation": "1420:7:0", + "nodeType": "StructDefinition", + "scope": 184, + "src": "1413:69:0", + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "functionSelector": "af8214ef", + "id": 140, + "mutability": "constant", + "name": "LIMIT", + "nameLocation": "1512:5:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1488:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1520:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "functionSelector": "cf09e0d0", + "id": 142, + "mutability": "immutable", + "name": "createdAt", + "nameLocation": "1554:9:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1529:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1529:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 144, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1586:5:0", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "1569:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1569:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "eventSelector": "a6dcc92f45df25789d5639b7a0c97ba1edf3bb1c0b5dd3376fd96a0db87c4642", + "id": 149, + "name": "PhaseChanged", + "nameLocation": "1604:12:0", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 148, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 147, + "indexed": true, + "mutability": "mutable", + "name": "newPhase", + "nameLocation": "1631:8:0", + "nodeType": "VariableDeclaration", + "scope": 149, + "src": "1617:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Base", + "id": 145, + "name": "Phase", + "nameLocations": [ + "1617:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "1617:5:0" + }, + "referencedDeclaration": 132, + "src": "1617:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "internal" + } + ], + "src": "1616:24:0" + }, + "src": "1598:43:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 163, + "nodeType": "Block", + "src": "1668:108:0", + "statements": [ + { + "certora_contract_name": "Base", + "condition": { + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 151, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1682:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1686:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1682:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "certora_contract_name": "Base", + "id": 153, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1696:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1682:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 161, + "nodeType": "IfStatement", + "src": "1678:81:0", + "trueBody": { + "certora_contract_name": "Base", + "id": 160, + "nodeType": "Block", + "src": "1703:56:0", + "statements": [ + { + "certora_contract_name": "Base", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1737:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1737:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Base", + "id": 155, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "1724:12:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:24:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 159, + "nodeType": "RevertStatement", + "src": "1717:31:0" + } + ] + } + }, + { + "certora_contract_name": "Base", + "id": 162, + "nodeType": "PlaceholderStatement", + "src": "1768:1:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 164, + "name": "onlyOwner", + "nameLocation": "1656:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 150, + "nodeType": "ParameterList", + "parameters": [], + "src": "1665:2:0" + }, + "src": "1647:129:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 177, + "nodeType": "Block", + "src": "1796:72:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 167, + "name": "createdAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1806:9:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 168, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1818:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1824:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1818:15:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1806:27:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "1806:27:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Base", + "id": 172, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1843:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Base", + "expression": { + "certora_contract_name": "Base", + "id": 173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1851:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1855:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1851:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1843:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1843:18:0" + } + ] + }, + "certora_contract_name": "Base", + "id": 178, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 165, + "nodeType": "ParameterList", + "parameters": [], + "src": "1793:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 166, + "nodeType": "ParameterList", + "parameters": [], + "src": "1796:0:0" + }, + "scope": 184, + "src": "1782:86:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "functionSelector": "5c36b186", + "id": 183, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "1883:4:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 179, + "nodeType": "ParameterList", + "parameters": [], + "src": "1887:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 182, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 183, + "src": "1914:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1913:9:0" + }, + "scope": 184, + "src": "1874:49:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 669, + "src": "1317:608:0", + "usedErrors": [], + "usedEvents": [ + 149 + ] + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Left", + "id": 185, + "name": "Base", + "nameLocations": [ + "1944:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "1944:4:0" + }, + "certora_contract_name": "Left", + "id": 186, + "nodeType": "InheritanceSpecifier", + "src": "1944:4:0" + } + ], + "canonicalName": "Left", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 196, + "linearizedBaseContracts": [ + 196, + 184 + ], + "name": "Left", + "nameLocation": "1936:4:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 183 + ], + "body": { + "certora_contract_name": "Left", + "id": 194, + "nodeType": "Block", + "src": "2013:25:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "certora_contract_name": "Left", + "hexValue": "31", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "functionReturnParameters": 191, + "id": 193, + "nodeType": "Return", + "src": "2023:8:0" + } + ] + }, + "certora_contract_name": "Left", + "functionSelector": "5c36b186", + "id": 195, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "1964:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Left", + "id": 188, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1986:8:0" + }, + "parameters": { + "certora_contract_name": "Left", + "id": 187, + "nodeType": "ParameterList", + "parameters": [], + "src": "1968:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 195, + "src": "2004:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2004:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2003:9:0" + }, + "scope": 196, + "src": "1955:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 669, + "src": "1927:113:0", + "usedErrors": [], + "usedEvents": [ + 149 + ] + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Right", + "id": 197, + "name": "Base", + "nameLocations": [ + "2060:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 184, + "src": "2060:4:0" + }, + "certora_contract_name": "Right", + "id": 198, + "nodeType": "InheritanceSpecifier", + "src": "2060:4:0" + } + ], + "canonicalName": "Right", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 208, + "linearizedBaseContracts": [ + 208, + 184 + ], + "name": "Right", + "nameLocation": "2051:5:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 183 + ], + "body": { + "certora_contract_name": "Right", + "id": 206, + "nodeType": "Block", + "src": "2129:25:0", + "statements": [ + { + "certora_contract_name": "Right", + "expression": { + "certora_contract_name": "Right", + "hexValue": "32", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2146:1:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "functionReturnParameters": 203, + "id": 205, + "nodeType": "Return", + "src": "2139:8:0" + } + ] + }, + "certora_contract_name": "Right", + "functionSelector": "5c36b186", + "id": 207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "2080:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Right", + "id": 200, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2102:8:0" + }, + "parameters": { + "certora_contract_name": "Right", + "id": 199, + "nodeType": "ParameterList", + "parameters": [], + "src": "2084:2:0" + }, + "returnParameters": { + "certora_contract_name": "Right", + "id": 203, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Right", + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "2120:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Right", + "id": 201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:0", + "typeDescriptions": { + "certora_contract_name": "Right", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2119:9:0" + }, + "scope": 208, + "src": "2071:83:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 669, + "src": "2042:114:0", + "usedErrors": [], + "usedEvents": [ + 149 + ] + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 209, + "name": "Left", + "nameLocations": [ + "2178:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2178:4:0" + }, + "certora_contract_name": "Diamond", + "id": 210, + "nodeType": "InheritanceSpecifier", + "src": "2178:4:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 211, + "name": "Right", + "nameLocations": [ + "2184:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2184:5:0" + }, + "certora_contract_name": "Diamond", + "id": 212, + "nodeType": "InheritanceSpecifier", + "src": "2184:5:0" + }, + { + "baseName": { + "certora_contract_name": "Diamond", + "id": 213, + "name": "IToken", + "nameLocations": [ + "2191:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "2191:6:0" + }, + "certora_contract_name": "Diamond", + "id": 214, + "nodeType": "InheritanceSpecifier", + "src": "2191:6:0" + } + ], + "canonicalName": "Diamond", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 668, + "internalFunctionIDs": { + "424": 1, + "certora_contract_name": "Diamond" + }, + "linearizedBaseContracts": [ + 668, + 99, + 208, + 196, + 184 + ], + "name": "Diamond", + "nameLocation": "2167:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "global": false, + "id": 217, + "libraryName": { + "certora_contract_name": "Diamond", + "id": 215, + "name": "MathLib", + "nameLocations": [ + "2210:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 128, + "src": "2210:7:0" + }, + "nodeType": "UsingForDirective", + "src": "2204:26:0", + "typeName": { + "certora_contract_name": "Diamond", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2222:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "5e5c06e2", + "id": 222, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2341:8:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2292:57:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 221, + "keyName": "owner", + "keyNameLocation": "2308:5:0", + "keyType": { + "certora_contract_name": "Diamond", + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2300:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2292:41:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account)" + }, + "valueName": "account", + "valueNameLocation": "2325:7:0", + "valueType": { + "certora_contract_name": "Diamond", + "id": 220, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 219, + "name": "Account", + "nameLocations": [ + "2317:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "2317:7:0" + }, + "referencedDeclaration": 137, + "src": "2317:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "history", + "nameLocation": "2374:7:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2355:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2355:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 224, + "nodeType": "ArrayTypeName", + "src": "2355:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "b1c9fe6e", + "id": 228, + "mutability": "mutable", + "name": "phase", + "nameLocation": "2400:5:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2387:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 227, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 226, + "name": "Phase", + "nameLocations": [ + "2387:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 132, + "src": "2387:5:0" + }, + "referencedDeclaration": 132, + "src": "2387:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "visibility": "public" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "functionSelector": "9363c812", + "id": 231, + "mutability": "mutable", + "name": "floorPrice", + "nameLocation": "2424:10:0", + "nodeType": "VariableDeclaration", + "scope": 668, + "src": "2411:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 230, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "Price", + "nameLocations": [ + "2411:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "2411:5:0" + }, + "referencedDeclaration": 3, + "src": "2411:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 266, + "nodeType": "Block", + "src": "2486:163:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 238, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2496:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 240, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 239, + "name": "firstUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2505:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2496:19:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 242, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2549:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "certora_contract_name": "Diamond", + "id": 241, + "name": "Account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "2518:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", + "typeString": "type(struct Base.Account storage pointer)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2527:7:0", + "2542:5:0" + ], + "names": [ + "balance", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "2518:34:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_memory_ptr", + "typeString": "struct Base.Account memory" + } + }, + "src": "2496:56:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 246, + "nodeType": "ExpressionStatement", + "src": "2496:56:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 250, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2575:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 247, + "name": "history", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "2562:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:4:0", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2562:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "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": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2562:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "2562:18:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 253, + "name": "floorPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2590:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 259, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "2628:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 260, + "name": "LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2634:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "name": "clamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2622:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:18:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 256, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2614:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2614:27:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 254, + "name": "Price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "2603:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", + "typeString": "type(Price)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2609:4:0", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2603:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", + "typeString": "function (uint128) pure returns (Price)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:39:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "2590:52:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "2590:52:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 267, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 236, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 233, + "mutability": "mutable", + "name": "firstUser", + "nameLocation": "2461:9:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2453:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "seed", + "nameLocation": "2480:4:0", + "nodeType": "VariableDeclaration", + "scope": 267, + "src": "2472:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2452:33:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 237, + "nodeType": "ParameterList", + "parameters": [], + "src": "2486:0:0" + }, + "scope": 668, + "src": "2441:208:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 195, + 207 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 288, + "nodeType": "Block", + "src": "2718:100:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2728:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 276, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 132, + "src": "2736:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", + "typeString": "type(enum Base.Phase)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2742:6:0", + "memberName": "Active", + "nodeType": "MemberAccess", + "referencedDeclaration": 130, + "src": "2736:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "src": "2728:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + }, + "id": 279, + "nodeType": "ExpressionStatement", + "src": "2728:20:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 281, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2776:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_enum$_Phase_$132", + "typeString": "enum Base.Phase" + } + ], + "certora_contract_name": "Diamond", + "id": 280, + "name": "PhaseChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 149, + "src": "2763:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", + "typeString": "function (enum Base.Phase)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:19:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 283, + "nodeType": "EmitStatement", + "src": "2758:24:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 284, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2799:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", + "typeString": "type(contract super Diamond)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2805:4:0", + "memberName": "ping", + "nodeType": "MemberAccess", + "referencedDeclaration": 207, + "src": "2799:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", + "typeString": "function () returns (uint256)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:12:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 274, + "id": 287, + "nodeType": "Return", + "src": "2792:19:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "5c36b186", + "id": 289, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ping", + "nameLocation": "2664:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "certora_contract_name": "Diamond", + "id": 269, + "name": "Left", + "nameLocations": [ + "2687:4:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 196, + "src": "2687:4:0" + }, + { + "certora_contract_name": "Diamond", + "id": 270, + "name": "Right", + "nameLocations": [ + "2693:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 208, + "src": "2693:5:0" + } + ], + "src": "2678:21:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [], + "src": "2668:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 289, + "src": "2709:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2709:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2708:9:0" + }, + "scope": 668, + "src": "2655:163:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 98 + ], + "body": { + "certora_contract_name": "Diamond", + "id": 302, + "nodeType": "Block", + "src": "2897:45:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 297, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "2914:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 299, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 298, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "2923:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2914:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "2914:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 296, + "id": 301, + "nodeType": "Return", + "src": "2907:28:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "70a08231", + "id": 303, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2833:9:0", + "nodeType": "FunctionDefinition", + "overrides": { + "certora_contract_name": "Diamond", + "id": 293, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2870:8:0" + }, + "parameters": { + "certora_contract_name": "Diamond", + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "who", + "nameLocation": "2851:3:0", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2843:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2843:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2842:13:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 296, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2888:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2887:9:0" + }, + "scope": 668, + "src": "2824:118:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 363, + "nodeType": "Block", + "src": "3027:363:0", + "statements": [ + { + "assignments": [ + 316 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "from", + "nameLocation": "3053:4:0", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "3037:20:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 314, + "name": "Account", + "nameLocations": [ + "3037:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 137, + "src": "3037:7:0" + }, + "referencedDeclaration": 137, + "src": "3037:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account" + } + }, + "visibility": "internal" + } + ], + "id": 321, + "initialValue": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 317, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3060:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 320, + "indexExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 318, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3069:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3073:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3069:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3060:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3037:43:0" + }, + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 322, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3094:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3099:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3094:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 324, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3109:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3094:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 333, + "nodeType": "IfStatement", + "src": "3090:91:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 332, + "nodeType": "Block", + "src": "3116:65:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "errorCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3150:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 328, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3157:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3162:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3157:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 326, + "name": "Insufficient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3137:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:33:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 331, + "nodeType": "RevertStatement", + "src": "3130:40:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "id": 340, + "nodeType": "UncheckedBlock", + "src": "3190:56:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 334, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3214:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage_ptr", + "typeString": "struct Base.Account storage pointer" + } + }, + "id": 336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3219:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3214:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3230:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3214:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 339, + "nodeType": "ExpressionStatement", + "src": "3214:21:0" + } + ] + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 341, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3255:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 343, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 342, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3264:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3255:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3268:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3255:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3310:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 345, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3278:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", + "typeString": "mapping(address => struct Base.Account storage ref)" + } + }, + "certora_contract_name": "Diamond", + "id": 347, + "indexExpression": { + "certora_contract_name": "Diamond", + "id": 346, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3287:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3278:12:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_struct$_Account_$137_storage", + "typeString": "struct Base.Account storage ref" + } + }, + "id": 348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3291:7:0", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 134, + "src": "3278:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:10:0", + "memberName": "clampedAdd", + "nodeType": "MemberAccess", + "referencedDeclaration": 127, + "src": "3278:31:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3278:38:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3255:61:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "3255:61:0" + }, + { + "certora_contract_name": "Diamond", + "eventCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3340:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3344:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3340:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 357, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3352:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "certora_contract_name": "Diamond", + "id": 358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "3356:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 354, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3331:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3331:31:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "EmitStatement", + "src": "3326:36:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "74727565", + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3379:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 313, + "id": 362, + "nodeType": "Return", + "src": "3372:11:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "a9059cbb", + "id": 364, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 310, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 309, + "name": "onlyOwner", + "nameLocations": [ + "3002:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "3002:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3002:9:0" + } + ], + "name": "transfer", + "nameLocation": "2957:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "to", + "nameLocation": "2974:2:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2966:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 307, + "mutability": "mutable", + "name": "value", + "nameLocation": "2986:5:0", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2978:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2965:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 313, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "3021:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3021:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3020:6:0" + }, + "scope": 668, + "src": "2948:442:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 389, + "nodeType": "Block", + "src": "3519:87:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 51, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 376, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3533:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 377, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3538:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3533:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 384, + "nodeType": "IfStatement", + "src": "3529:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 383, + "nodeType": "Block", + "src": "3541:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 379, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3562:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3566:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3562:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 382, + "nodeType": "Return", + "src": "3555:12:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "function": 29, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 385, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3594:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "3598:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "src": "3594:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "functionReturnParameters": 375, + "id": 388, + "nodeType": "Return", + "src": "3587:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "f5dff84f", + "id": 390, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "total", + "nameLocation": "3467:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 371, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "a", + "nameLocation": "3479:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3473:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 365, + "name": "Price", + "nameLocations": [ + "3473:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3473:5:0" + }, + "referencedDeclaration": 3, + "src": "3473:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "b", + "nameLocation": "3488:1:0", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3482:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 368, + "name": "Price", + "nameLocations": [ + "3482:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3482:5:0" + }, + "referencedDeclaration": 3, + "src": "3482:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3472:18:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 375, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 374, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "3512:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 372, + "name": "Price", + "nameLocations": [ + "3512:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3, + "src": "3512:5:0" + }, + "referencedDeclaration": 3, + "src": "3512:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_userDefinedValueType$_Price_$3", + "typeString": "Price" + } + }, + "visibility": "internal" + } + ], + "src": "3511:7:0" + }, + "scope": 668, + "src": "3458:148:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 411, + "nodeType": "Block", + "src": "3750:31:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 407, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "3771:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 406, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3769:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:4:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 405, + "name": "f", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 398, + "src": "3767:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:7:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 404, + "id": 410, + "nodeType": "Return", + "src": "3760:14:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 412, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "applyTwice", + "nameLocation": "3621:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 401, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 398, + "mutability": "mutable", + "name": "f", + "nameLocation": "3691:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3641:51:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 397, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "certora_contract_name": "Diamond", + "id": 393, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3650:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3650:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3649:9:0" + }, + "returnParameterTypes": { + "certora_contract_name": "Diamond", + "id": 396, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "3682:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3682:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3681:9:0" + }, + "src": "3641:51:0", + "stateMutability": "pure", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + "visibility": "internal" + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "x", + "nameLocation": "3710:1:0", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3702:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3702:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3631:86:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 404, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 403, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "3741:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3741:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3740:9:0" + }, + "scope": 668, + "src": "3612:169:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 423, + "nodeType": "Block", + "src": "3844:29:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 419, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "3861:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3865:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3861:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 418, + "id": 422, + "nodeType": "Return", + "src": "3854:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "id": 424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bump", + "nameLocation": "3796:4:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 415, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 414, + "mutability": "mutable", + "name": "x", + "nameLocation": "3809:1:0", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3801:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3800:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "3835:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3834:9:0" + }, + "scope": 668, + "src": "3787:86:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 461, + "nodeType": "Block", + "src": "4003:108:0", + "statements": [ + { + "assignments": [ + 436 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "m", + "nameLocation": "4021:1:0", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "4013:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4013:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 443, + "initialValue": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 437, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4025:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4029:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4025:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "certora_contract_name": "Diamond", + "id": 441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4037:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4025:13:0", + "trueExpression": { + "certora_contract_name": "Diamond", + "id": 440, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4033:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4013:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 444, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4049:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "id": 445, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4053:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 446, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4048:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "components": [ + { + "certora_contract_name": "Diamond", + "id": 447, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4060:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 448, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 426, + "src": "4063:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 449, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "4067:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4059:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4048:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "4048:21:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 454, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4079:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 456, + "name": "bump", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "4095:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + { + "certora_contract_name": "Diamond", + "id": 457, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4101:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 455, + "name": "applyTwice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "4084:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4079:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 460, + "nodeType": "ExpressionStatement", + "src": "4079:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "bbda574c", + "id": 462, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tupleAndConditional", + "nameLocation": "3888:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 429, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 426, + "mutability": "mutable", + "name": "a", + "nameLocation": "3916:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3908:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3908:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "b", + "nameLocation": "3927:1:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3919:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3919:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3907:22:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "lo", + "nameLocation": "3983:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3975:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3975:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "hi", + "nameLocation": "3995:2:0", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3987:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3987:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3974:24:0" + }, + "scope": 668, + "src": "3879:232:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 502, + "nodeType": "Block", + "src": "4197:234:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "clauses": [ + { + "block": { + "certora_contract_name": "Diamond", + "id": 481, + "nodeType": "Block", + "src": "4256:37:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 479, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "4277:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 480, + "nodeType": "Return", + "src": "4270:12:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 482, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 478, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "value", + "nameLocation": "4249:5:0", + "nodeType": "VariableDeclaration", + "scope": 482, + "src": "4241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4240:15:0" + }, + "src": "4232:61:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 488, + "nodeType": "Block", + "src": "4321:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4342:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 471, + "id": 487, + "nodeType": "Return", + "src": "4335:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "Error", + "id": 489, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "4306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4305:15:0" + }, + "src": "4294:60:0" + }, + { + "block": { + "certora_contract_name": "Diamond", + "id": 499, + "nodeType": "Block", + "src": "4376:49:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4402:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "certora_contract_name": "Diamond", + "id": 493, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4397:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4397:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4411:3:0", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4397:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 471, + "id": 498, + "nodeType": "Return", + "src": "4390:24:0" + } + ] + }, + "certora_contract_name": "Diamond", + "errorName": "", + "id": 500, + "nodeType": "TryCatchClause", + "parameters": { + "certora_contract_name": "Diamond", + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 500, + "src": "4362:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4362:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4361:14:0" + }, + "src": "4355:70:0" + } + ], + "externalCall": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 474, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "4227:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 472, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4211:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4217:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 98, + "src": "4211:15:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4211:20:0", + "tryCall": true, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 501, + "nodeType": "TryStatement", + "src": "4207:218:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "aec5299f", + "id": 503, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBalance", + "nameLocation": "4126:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 468, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "token", + "nameLocation": "4145:5:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4138:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "certora_contract_name": "Diamond", + "id": 463, + "name": "IToken", + "nameLocations": [ + "4138:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99, + "src": "4138:6:0" + }, + "referencedDeclaration": 99, + "src": "4138:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$99", + "typeString": "contract IToken" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "who", + "nameLocation": "4160:3:0", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4152:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4137:27:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 471, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4188:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4187:9:0" + }, + "scope": 668, + "src": "4117:314:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 526, + "nodeType": "Block", + "src": "4526:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 512, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4536:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 505, + "src": "4543:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4550:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4543:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4555:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4543:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4536:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 517, + "nodeType": "ExpressionStatement", + "src": "4536:25:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 518, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "4571:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4586:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$668", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4578:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond" + } + } + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4578:13:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4592:4:0", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4578:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "4571:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "4571:25:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "43b0ea25", + "id": 527, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "codeProbe", + "nameLocation": "4446:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 506, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 505, + "mutability": "mutable", + "name": "target", + "nameLocation": "4464:6:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4456:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4456:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4455:16:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "size", + "nameLocation": "4501:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4493:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4493:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "blob", + "nameLocation": "4520:4:0", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "4507:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 509, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4507:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4492:33:0" + }, + "scope": 668, + "src": "4437:166:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 539, + "nodeType": "Block", + "src": "4734:33:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 534, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "4751:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "certora_contract_name": "Diamond", + "endExpression": { + "certora_contract_name": "Diamond", + "hexValue": "34", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4751:9:0", + "startExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "functionReturnParameters": 533, + "id": 538, + "nodeType": "Return", + "src": "4744:16:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "655f4111", + "id": 540, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "selectorOf", + "nameLocation": "4663:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 530, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 529, + "mutability": "mutable", + "name": "data", + "nameLocation": "4689:4:0", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4674:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 528, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4674:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4673:21:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "4718:14:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4718:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4717:16:0" + }, + "scope": 668, + "src": "4654:113:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 627, + "nodeType": "Block", + "src": "4839:483:0", + "statements": [ + { + "body": { + "certora_contract_name": "Diamond", + "id": 573, + "nodeType": "Block", + "src": "4881:154:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4899:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "33", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4904:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "4899:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 562, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4958:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4962:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4958:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 567, + "nodeType": "IfStatement", + "src": "4954:49:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 566, + "nodeType": "Block", + "src": "4965:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 565, + "nodeType": "Break", + "src": "4983:5:0" + } + ] + } + }, + "id": 568, + "nodeType": "IfStatement", + "src": "4895:108:0", + "trueBody": { + "certora_contract_name": "Diamond", + "id": 561, + "nodeType": "Block", + "src": "4907:41:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "id": 560, + "nodeType": "Continue", + "src": "4925:8:0" + } + ] + } + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 569, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5016:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 570, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "5023:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5016:8:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "5016:8:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 551, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4869:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 552, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "4873:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4869:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 574, + "initializationExpression": { + "assignments": [ + 548 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "i", + "nameLocation": "4862:1:0", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "4854:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4854:13:0" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4876:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 554, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "4876:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "4876:3:0" + }, + "nodeType": "ForStatement", + "src": "4849:186:0" + }, + { + "assignments": [ + 576 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "j", + "nameLocation": "5052:1:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5044:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5044:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 578, + "initialValue": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5056:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5044:13:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 585, + "nodeType": "Block", + "src": "5081:28:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5095:3:0", + "subExpression": { + "certora_contract_name": "Diamond", + "id": 582, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5095:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "5095:3:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 579, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "5074:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 580, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5078:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5074:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 586, + "nodeType": "WhileStatement", + "src": "5067:42:0" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 593, + "nodeType": "Block", + "src": "5121:38:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 587, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5135:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 588, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5141:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5147:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5141:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5135:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "5135:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "condition": { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 594, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5167:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "certora_contract_name": "Diamond", + "id": 595, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5173:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5167:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 597, + "nodeType": "DoWhileStatement", + "src": "5118:58:0" + }, + { + "assignments": [ + 602 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "scratch", + "nameLocation": "5202:7:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "5185:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 601, + "nodeType": "ArrayTypeName", + "src": "5185:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 610, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "certora_contract_name": "Diamond", + "id": 606, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 542, + "src": "5226:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5230:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5226:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Diamond", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5212:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 604, + "nodeType": "ArrayTypeName", + "src": "5216:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5212:20:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:47:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 611, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5242:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 613, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5250:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5242:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "id": 614, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5255:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5242:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 616, + "nodeType": "ExpressionStatement", + "src": "5242:16:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5268:17:0", + "subExpression": { + "baseExpression": { + "certora_contract_name": "Diamond", + "id": 617, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5275:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "certora_contract_name": "Diamond", + "id": 619, + "indexExpression": { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5283:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5275:10:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 621, + "nodeType": "ExpressionStatement", + "src": "5268:17:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "certora_contract_name": "Diamond", + "id": 622, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5295:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 623, + "name": "scratch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5301:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5309:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5295:20:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 626, + "nodeType": "ExpressionStatement", + "src": "5295:20:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "90dc1163", + "id": 628, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "controlFlow", + "nameLocation": "4782:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 543, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 542, + "mutability": "mutable", + "name": "n", + "nameLocation": "4802:1:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4794:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4794:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4793:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 546, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "acc", + "nameLocation": "4834:3:0", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4826:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4826:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4825:13:0" + }, + "scope": 668, + "src": "4773:549:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 649, + "nodeType": "Block", + "src": "5388:88:0", + "statements": [ + { + "assignments": [ + 636, + null + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "ok", + "nameLocation": "5404:2:0", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "5399:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5399:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 643, + "initialValue": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "hexValue": "", + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5430:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "certora_contract_name": "Diamond", + "id": 637, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5412:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5415:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5412:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "certora_contract_name": "Diamond", + "hexValue": "30", + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "5412:17:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5412:21:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5398:35:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "arguments": [ + { + "certora_contract_name": "Diamond", + "id": 645, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "5451:2:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "certora_contract_name": "Diamond", + "hexValue": "63616c6c206661696c6564", + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5455:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + }, + "value": "call failed" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", + "typeString": "literal_string \"call failed\"" + } + ], + "certora_contract_name": "Diamond", + "id": 644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5443:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5443:26:0", + "tryCall": false, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 648, + "nodeType": "ExpressionStatement", + "src": "5443:26:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "d5b488b2", + "id": 650, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "certora_contract_name": "Diamond", + "id": 633, + "kind": "modifierInvocation", + "modifierName": { + "certora_contract_name": "Diamond", + "id": 632, + "name": "onlyOwner", + "nameLocations": [ + "5378:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 164, + "src": "5378:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5378:9:0" + } + ], + "name": "sendNothing", + "nameLocation": "5337:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 631, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "to", + "nameLocation": "5365:2:0", + "nodeType": "VariableDeclaration", + "scope": 650, + "src": "5349:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "5348:20:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "5388:0:0" + }, + "scope": 668, + "src": "5328:148:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 653, + "nodeType": "Block", + "src": "5509:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 654, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 651, + "nodeType": "ParameterList", + "parameters": [], + "src": "5489:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 652, + "nodeType": "ParameterList", + "parameters": [], + "src": "5509:0:0" + }, + "scope": 668, + "src": "5482:29:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 657, + "nodeType": "Block", + "src": "5545:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "id": 658, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 655, + "nodeType": "ParameterList", + "parameters": [], + "src": "5525:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 656, + "nodeType": "ParameterList", + "parameters": [], + "src": "5545:0:0" + }, + "scope": 668, + "src": "5517:30:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 666, + "nodeType": "Block", + "src": "5614:909:0", + "statements": [ + { + "AST": { + "certora_contract_name": "Diamond", + "nativeSrc": "5633:884:0", + "nodeType": "YulBlock", + "src": "5633:884:0", + "statements": [ + { + "body": { + "nativeSrc": "5671:121:0", + "nodeType": "YulBlock", + "src": "5671:121:0", + "statements": [ + { + "body": { + "nativeSrc": "5702:45:0", + "nodeType": "YulBlock", + "src": "5702:45:0", + "statements": [ + { + "nativeSrc": "5724:5:0", + "nodeType": "YulLeave", + "src": "5724:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5699:1:0", + "nodeType": "YulIdentifier", + "src": "5699:1:0" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5692:6:0", + "nodeType": "YulIdentifier", + "src": "5692:6:0" + }, + "nativeSrc": "5692:9:0", + "nodeType": "YulFunctionCall", + "src": "5692:9:0" + }, + "nativeSrc": "5689:58:0", + "nodeType": "YulIf", + "src": "5689:58:0" + }, + { + "nativeSrc": "5764:14:0", + "nodeType": "YulAssignment", + "src": "5764:14:0", + "value": { + "arguments": [ + { + "name": "a", + "nativeSrc": "5773:1:0", + "nodeType": "YulIdentifier", + "src": "5773:1:0" + }, + { + "kind": "number", + "nativeSrc": "5776:1:0", + "nodeType": "YulLiteral", + "src": "5776:1:0", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5769:3:0", + "nodeType": "YulIdentifier", + "src": "5769:3:0" + }, + "nativeSrc": "5769:9:0", + "nodeType": "YulFunctionCall", + "src": "5769:9:0" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "5764:1:0", + "nodeType": "YulIdentifier", + "src": "5764:1:0" + } + ] + } + ] + }, + "name": "double", + "nativeSrc": "5647:145:0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "a", + "nativeSrc": "5663:1:0", + "nodeType": "YulTypedName", + "src": "5663:1:0", + "type": "" + } + ], + "returnVariables": [ + { + "name": "b", + "nativeSrc": "5669:1:0", + "nodeType": "YulTypedName", + "src": "5669:1:0", + "type": "" + } + ], + "src": "5647:145:0" + }, + { + "nativeSrc": "5805:12:0", + "nodeType": "YulVariableDeclaration", + "src": "5805:12:0", + "value": { + "kind": "number", + "nativeSrc": "5816:1:0", + "nodeType": "YulLiteral", + "src": "5816:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "acc", + "nativeSrc": "5809:3:0", + "nodeType": "YulTypedName", + "src": "5809:3:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5933:210:0", + "nodeType": "YulBlock", + "src": "5933:210:0", + "statements": [ + { + "body": { + "nativeSrc": "5963:48:0", + "nodeType": "YulBlock", + "src": "5963:48:0", + "statements": [ + { + "nativeSrc": "5985:8:0", + "nodeType": "YulContinue", + "src": "5985:8:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5957:1:0", + "nodeType": "YulIdentifier", + "src": "5957:1:0" + }, + { + "kind": "number", + "nativeSrc": "5960:1:0", + "nodeType": "YulLiteral", + "src": "5960:1:0", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5954:2:0", + "nodeType": "YulIdentifier", + "src": "5954:2:0" + }, + "nativeSrc": "5954:8:0", + "nodeType": "YulFunctionCall", + "src": "5954:8:0" + }, + "nativeSrc": "5951:60:0", + "nodeType": "YulIf", + "src": "5951:60:0" + }, + { + "body": { + "nativeSrc": "6041:45:0", + "nodeType": "YulBlock", + "src": "6041:45:0", + "statements": [ + { + "nativeSrc": "6063:5:0", + "nodeType": "YulBreak", + "src": "6063:5:0" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6034:1:0", + "nodeType": "YulIdentifier", + "src": "6034:1:0" + }, + { + "kind": "number", + "nativeSrc": "6037:2:0", + "nodeType": "YulLiteral", + "src": "6037:2:0", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6031:2:0", + "nodeType": "YulIdentifier", + "src": "6031:2:0" + }, + "nativeSrc": "6031:9:0", + "nodeType": "YulFunctionCall", + "src": "6031:9:0" + }, + "nativeSrc": "6028:58:0", + "nodeType": "YulIf", + "src": "6028:58:0" + }, + { + "nativeSrc": "6103:26:0", + "nodeType": "YulAssignment", + "src": "6103:26:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6114:3:0", + "nodeType": "YulIdentifier", + "src": "6114:3:0" + }, + { + "arguments": [ + { + "name": "i", + "nativeSrc": "6126:1:0", + "nodeType": "YulIdentifier", + "src": "6126:1:0" + } + ], + "functionName": { + "name": "double", + "nativeSrc": "6119:6:0", + "nodeType": "YulIdentifier", + "src": "6119:6:0" + }, + "nativeSrc": "6119:9:0", + "nodeType": "YulFunctionCall", + "src": "6119:9:0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6110:3:0", + "nodeType": "YulIdentifier", + "src": "6110:3:0" + }, + "nativeSrc": "6110:19:0", + "nodeType": "YulFunctionCall", + "src": "6110:19:0" + }, + "variableNames": [ + { + "name": "acc", + "nativeSrc": "6103:3:0", + "nodeType": "YulIdentifier", + "src": "6103:3:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5880:1:0", + "nodeType": "YulIdentifier", + "src": "5880:1:0" + }, + { + "name": "n", + "nativeSrc": "5883:1:0", + "nodeType": "YulIdentifier", + "src": "5883:1:0" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5877:2:0", + "nodeType": "YulIdentifier", + "src": "5877:2:0" + }, + "nativeSrc": "5877:8:0", + "nodeType": "YulFunctionCall", + "src": "5877:8:0" + }, + "nativeSrc": "5830:313:0", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5886:46:0", + "nodeType": "YulBlock", + "src": "5886:46:0", + "statements": [ + { + "nativeSrc": "5904:14:0", + "nodeType": "YulAssignment", + "src": "5904:14:0", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5913:1:0", + "nodeType": "YulIdentifier", + "src": "5913:1:0" + }, + { + "kind": "number", + "nativeSrc": "5916:1:0", + "nodeType": "YulLiteral", + "src": "5916:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5909:3:0", + "nodeType": "YulIdentifier", + "src": "5909:3:0" + }, + "nativeSrc": "5909:9:0", + "nodeType": "YulFunctionCall", + "src": "5909:9:0" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5904:1:0", + "nodeType": "YulIdentifier", + "src": "5904:1:0" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5834:42:0", + "nodeType": "YulBlock", + "src": "5834:42:0", + "statements": [ + { + "nativeSrc": "5852:10:0", + "nodeType": "YulVariableDeclaration", + "src": "5852:10:0", + "value": { + "kind": "number", + "nativeSrc": "5861:1:0", + "nodeType": "YulLiteral", + "src": "5861:1:0", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5856:1:0", + "nodeType": "YulTypedName", + "src": "5856:1:0", + "type": "" + } + ] + } + ] + }, + "src": "5830:313:0" + }, + { + "cases": [ + { + "body": { + "nativeSrc": "6194:40:0", + "nodeType": "YulBlock", + "src": "6194:40:0", + "statements": [ + { + "nativeSrc": "6212:8:0", + "nodeType": "YulAssignment", + "src": "6212:8:0", + "value": { + "name": "acc", + "nativeSrc": "6217:3:0", + "nodeType": "YulIdentifier", + "src": "6217:3:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6212:1:0", + "nodeType": "YulIdentifier", + "src": "6212:1:0" + } + ] + } + ] + }, + "nativeSrc": "6187:47:0", + "nodeType": "YulCase", + "src": "6187:47:0", + "value": { + "kind": "number", + "nativeSrc": "6192:1:0", + "nodeType": "YulLiteral", + "src": "6192:1:0", + "type": "", + "value": "0" + } + }, + { + "body": { + "nativeSrc": "6254:48:0", + "nodeType": "YulBlock", + "src": "6254:48:0", + "statements": [ + { + "nativeSrc": "6272:16:0", + "nodeType": "YulAssignment", + "src": "6272:16:0", + "value": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6281:3:0", + "nodeType": "YulIdentifier", + "src": "6281:3:0" + }, + { + "kind": "number", + "nativeSrc": "6286:1:0", + "nodeType": "YulLiteral", + "src": "6286:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6277:3:0", + "nodeType": "YulIdentifier", + "src": "6277:3:0" + }, + "nativeSrc": "6277:11:0", + "nodeType": "YulFunctionCall", + "src": "6277:11:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6272:1:0", + "nodeType": "YulIdentifier", + "src": "6272:1:0" + } + ] + } + ] + }, + "nativeSrc": "6247:55:0", + "nodeType": "YulCase", + "src": "6247:55:0", + "value": { + "kind": "number", + "nativeSrc": "6252:1:0", + "nodeType": "YulLiteral", + "src": "6252:1:0", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "6323:38:0", + "nodeType": "YulBlock", + "src": "6323:38:0", + "statements": [ + { + "nativeSrc": "6341:6:0", + "nodeType": "YulAssignment", + "src": "6341:6:0", + "value": { + "kind": "number", + "nativeSrc": "6346:1:0", + "nodeType": "YulLiteral", + "src": "6346:1:0", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6341:1:0", + "nodeType": "YulIdentifier", + "src": "6341:1:0" + } + ] + } + ] + }, + "nativeSrc": "6315:46:0", + "nodeType": "YulCase", + "src": "6315:46:0", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "acc", + "nativeSrc": "6167:3:0", + "nodeType": "YulIdentifier", + "src": "6167:3:0" + }, + { + "kind": "number", + "nativeSrc": "6172:1:0", + "nodeType": "YulLiteral", + "src": "6172:1:0", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6163:3:0", + "nodeType": "YulIdentifier", + "src": "6163:3:0" + }, + "nativeSrc": "6163:11:0", + "nodeType": "YulFunctionCall", + "src": "6163:11:0" + }, + "nativeSrc": "6156:205:0", + "nodeType": "YulSwitch", + "src": "6156:205:0" + }, + { + "nativeSrc": "6374:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6374:16:0", + "value": { + "hexValue": "79756c", + "kind": "string", + "nativeSrc": "6385:5:0", + "nodeType": "YulLiteral", + "src": "6385:5:0", + "type": "", + "value": "yul" + }, + "variables": [ + { + "name": "tag", + "nativeSrc": "6378:3:0", + "nodeType": "YulTypedName", + "src": "6378:3:0", + "type": "" + } + ] + }, + { + "nativeSrc": "6403:16:0", + "nodeType": "YulVariableDeclaration", + "src": "6403:16:0", + "value": { + "kind": "bool", + "nativeSrc": "6415:4:0", + "nodeType": "YulLiteral", + "src": "6415:4:0", + "type": "", + "value": "true" + }, + "variables": [ + { + "name": "flag", + "nativeSrc": "6407:4:0", + "nodeType": "YulTypedName", + "src": "6407:4:0", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6458:49:0", + "nodeType": "YulBlock", + "src": "6458:49:0", + "statements": [ + { + "nativeSrc": "6476:17:0", + "nodeType": "YulAssignment", + "src": "6476:17:0", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6486:1:0", + "nodeType": "YulLiteral", + "src": "6486:1:0", + "type": "", + "value": "0" + }, + { + "name": "tag", + "nativeSrc": "6489:3:0", + "nodeType": "YulIdentifier", + "src": "6489:3:0" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "6481:4:0", + "nodeType": "YulIdentifier", + "src": "6481:4:0" + }, + "nativeSrc": "6481:12:0", + "nodeType": "YulFunctionCall", + "src": "6481:12:0" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "6476:1:0", + "nodeType": "YulIdentifier", + "src": "6476:1:0" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "flag", + "nativeSrc": "6439:4:0", + "nodeType": "YulIdentifier", + "src": "6439:4:0" + }, + { + "arguments": [ + { + "name": "r", + "nativeSrc": "6448:1:0", + "nodeType": "YulIdentifier", + "src": "6448:1:0" + }, + { + "kind": "number", + "nativeSrc": "6451:4:0", + "nodeType": "YulLiteral", + "src": "6451:4:0", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6445:2:0", + "nodeType": "YulIdentifier", + "src": "6445:2:0" + }, + "nativeSrc": "6445:11:0", + "nodeType": "YulFunctionCall", + "src": "6445:11:0" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6435:3:0", + "nodeType": "YulIdentifier", + "src": "6435:3:0" + }, + "nativeSrc": "6435:22:0", + "nodeType": "YulFunctionCall", + "src": "6435:22:0" + }, + "nativeSrc": "6432:75:0", + "nodeType": "YulIf", + "src": "6432:75:0" + } + ] + }, + "certora_contract_name": "Diamond", + "evmVersion": "prague", + "externalReferences": [ + { + "declaration": 660, + "isOffset": false, + "isSlot": false, + "src": "5883:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6212:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6272:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6341:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6448:1:0", + "valueSize": 1 + }, + { + "declaration": 663, + "isOffset": false, + "isSlot": false, + "src": "6476:1:0", + "valueSize": 1 + } + ], + "id": 665, + "nodeType": "InlineAssembly", + "src": "5624:893:0" + } + ] + }, + "certora_contract_name": "Diamond", + "functionSelector": "692103d0", + "id": 667, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "yulStuff", + "nameLocation": "5562:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 661, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 660, + "mutability": "mutable", + "name": "n", + "nameLocation": "5579:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5571:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5571:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5570:11:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 664, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "r", + "nameLocation": "5611:1:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "5603:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5603:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5602:11:0" + }, + "scope": 668, + "src": "5553:970:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 669, + "src": "2158:4367:0", + "usedErrors": [ + 60, + 66 + ], + "usedEvents": [ + 91, + 149 + ] + } + ], + "src": "384:6142:0" + } + } + } +} diff --git a/tests/fixtures/solidity_ast/vyper_mixed.asts.json b/tests/fixtures/solidity_ast/vyper_mixed.asts.json new file mode 100644 index 0000000..36e94da --- /dev/null +++ b/tests/fixtures/solidity_ast/vyper_mixed.asts.json @@ -0,0 +1,1251 @@ +{ + "counter.sol": { + "counter.sol": { + "1": { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:0" + }, + "2": { + "id": 2, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "81:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "3": { + "constant": false, + "functionSelector": "06661abd", + "id": 3, + "mutability": "mutable", + "name": "count", + "nameLocation": "96:5:0", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "81:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "81:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "public", + "certora_contract_name": "Counter" + }, + "4": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [], + "src": "126:2:0", + "certora_contract_name": "Counter" + }, + "5": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "6": { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "145:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "internal", + "certora_contract_name": "Counter" + }, + "7": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "145:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "internal", + "certora_contract_name": "Counter" + } + ], + "src": "144:9:0", + "certora_contract_name": "Counter" + }, + "8": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "9": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "10": { + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "src": "164:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "11": { + "expression": { + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "src": "164:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "id": 11, + "nodeType": "ExpressionStatement", + "src": "164:10:0", + "certora_contract_name": "Counter" + }, + "12": { + "id": 12, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "191:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "13": { + "expression": { + "id": 12, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "191:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "functionReturnParameters": 7, + "id": 13, + "nodeType": "Return", + "src": "184:12:0", + "certora_contract_name": "Counter" + }, + "14": { + "id": 14, + "nodeType": "Block", + "src": "154:49:0", + "statements": [ + { + "expression": { + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "src": "164:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "id": 11, + "nodeType": "ExpressionStatement", + "src": "164:10:0", + "certora_contract_name": "Counter" + }, + { + "expression": { + "id": 12, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "191:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "functionReturnParameters": 7, + "id": 13, + "nodeType": "Return", + "src": "184:12:0", + "certora_contract_name": "Counter" + } + ], + "certora_contract_name": "Counter" + }, + "15": { + "body": { + "id": 14, + "nodeType": "Block", + "src": "154:49:0", + "statements": [ + { + "expression": { + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "src": "164:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "id": 11, + "nodeType": "ExpressionStatement", + "src": "164:10:0", + "certora_contract_name": "Counter" + }, + { + "expression": { + "id": 12, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "191:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "functionReturnParameters": 7, + "id": 13, + "nodeType": "Return", + "src": "184:12:0", + "certora_contract_name": "Counter" + } + ], + "certora_contract_name": "Counter" + }, + "functionSelector": "d09de08a", + "id": 15, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increment", + "nameLocation": "117:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [], + "src": "126:2:0", + "certora_contract_name": "Counter" + }, + "returnParameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "145:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "internal", + "certora_contract_name": "Counter" + } + ], + "src": "144:9:0", + "certora_contract_name": "Counter" + }, + "scope": 16, + "src": "108:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public", + "certora_contract_name": "Counter" + }, + "16": { + "abstract": false, + "baseContracts": [], + "canonicalName": "Counter", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 16, + "linearizedBaseContracts": [ + 16 + ], + "name": "Counter", + "nameLocation": "67:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "06661abd", + "id": 3, + "mutability": "mutable", + "name": "count", + "nameLocation": "96:5:0", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "81:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "81:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "public", + "certora_contract_name": "Counter" + }, + { + "body": { + "id": 14, + "nodeType": "Block", + "src": "154:49:0", + "statements": [ + { + "expression": { + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "src": "164:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "id": 11, + "nodeType": "ExpressionStatement", + "src": "164:10:0", + "certora_contract_name": "Counter" + }, + { + "expression": { + "id": 12, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "191:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "functionReturnParameters": 7, + "id": 13, + "nodeType": "Return", + "src": "184:12:0", + "certora_contract_name": "Counter" + } + ], + "certora_contract_name": "Counter" + }, + "functionSelector": "d09de08a", + "id": 15, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increment", + "nameLocation": "117:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [], + "src": "126:2:0", + "certora_contract_name": "Counter" + }, + "returnParameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "145:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "internal", + "certora_contract_name": "Counter" + } + ], + "src": "144:9:0", + "certora_contract_name": "Counter" + }, + "scope": 16, + "src": "108:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public", + "certora_contract_name": "Counter" + } + ], + "scope": 17, + "src": "58:147:0", + "usedErrors": [], + "usedEvents": [] + }, + "17": { + "absolutePath": "counter.sol", + "exportedSymbols": { + "Counter": [ + 16 + ] + }, + "id": 17, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Counter", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 16, + "linearizedBaseContracts": [ + 16 + ], + "name": "Counter", + "nameLocation": "67:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "06661abd", + "id": 3, + "mutability": "mutable", + "name": "count", + "nameLocation": "96:5:0", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "81:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "81:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "public", + "certora_contract_name": "Counter" + }, + { + "body": { + "id": 14, + "nodeType": "Block", + "src": "154:49:0", + "statements": [ + { + "expression": { + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1", + "certora_contract_name": "Counter" + }, + "src": "164:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "id": 11, + "nodeType": "ExpressionStatement", + "src": "164:10:0", + "certora_contract_name": "Counter" + }, + { + "expression": { + "id": 12, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "191:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "functionReturnParameters": 7, + "id": 13, + "nodeType": "Return", + "src": "184:12:0", + "certora_contract_name": "Counter" + } + ], + "certora_contract_name": "Counter" + }, + "functionSelector": "d09de08a", + "id": 15, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increment", + "nameLocation": "117:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [], + "src": "126:2:0", + "certora_contract_name": "Counter" + }, + "returnParameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "145:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "certora_contract_name": "Counter" + }, + "visibility": "internal", + "certora_contract_name": "Counter" + } + ], + "src": "144:9:0", + "certora_contract_name": "Counter" + }, + "scope": 16, + "src": "108:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public", + "certora_contract_name": "Counter" + } + ], + "scope": 17, + "src": "58:147:0", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:174:0" + } + }, + "counter.vy": { + "0": { + "ast_type": "Module", + "node_id": 0, + "src": "0:113:0", + "name": "counter.vy", + "path": "counter.vy", + "doc_string": null, + "body": [ + { + "ast_type": "VariableDecl", + "node_id": 1, + "src": "0:22:0", + "target": { + "ast_type": "Name", + "node_id": 2, + "src": "0:5:0", + "id": "count" + }, + "annotation": { + "ast_type": "Name", + "node_id": 3, + "src": "14:7:0", + "id": "uint256" + }, + "is_public": true, + "is_constant": false, + "is_immutable": false, + "value": null + }, + { + "ast_type": "FunctionDef", + "node_id": 4, + "src": "24:89:0", + "name": "increment", + "args": { + "ast_type": "arguments", + "node_id": 5, + "src": "48:0:0", + "args": [], + "defaults": [] + }, + "returns": { + "ast_type": "Name", + "node_id": 6, + "src": "54:7:0", + "id": "uint256" + }, + "decorator_list": [ + { + "ast_type": "Name", + "node_id": 7, + "src": "25:8:0", + "id": "external" + } + ], + "doc_string": null, + "body": [ + { + "ast_type": "AugAssign", + "node_id": 8, + "src": "67:15:0", + "target": { + "ast_type": "Attribute", + "node_id": 9, + "src": "67:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 10, + "src": "67:4:0", + "id": "self" + } + }, + "op": { + "ast_type": "Add", + "node_id": 11, + "src": "67:15:0" + }, + "value": { + "ast_type": "Int", + "node_id": 12, + "src": "81:1:0", + "value": 1 + } + }, + { + "ast_type": "Return", + "node_id": 13, + "src": "87:24:0", + "value": { + "ast_type": "Attribute", + "node_id": 14, + "src": "94:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 15, + "src": "94:4:0", + "id": "self" + } + } + } + ] + } + ] + }, + "1": { + "ast_type": "VariableDecl", + "node_id": 1, + "src": "0:22:0", + "target": { + "ast_type": "Name", + "node_id": 2, + "src": "0:5:0", + "id": "count" + }, + "annotation": { + "ast_type": "Name", + "node_id": 3, + "src": "14:7:0", + "id": "uint256" + }, + "is_public": true, + "is_constant": false, + "is_immutable": false, + "value": null + }, + "2": { + "ast_type": "Name", + "node_id": 2, + "src": "0:5:0", + "id": "count" + }, + "3": { + "ast_type": "Name", + "node_id": 3, + "src": "14:7:0", + "id": "uint256" + }, + "4": { + "ast_type": "FunctionDef", + "node_id": 4, + "src": "24:89:0", + "name": "increment", + "args": { + "ast_type": "arguments", + "node_id": 5, + "src": "48:0:0", + "args": [], + "defaults": [] + }, + "returns": { + "ast_type": "Name", + "node_id": 6, + "src": "54:7:0", + "id": "uint256" + }, + "decorator_list": [ + { + "ast_type": "Name", + "node_id": 7, + "src": "25:8:0", + "id": "external" + } + ], + "doc_string": null, + "body": [ + { + "ast_type": "AugAssign", + "node_id": 8, + "src": "67:15:0", + "target": { + "ast_type": "Attribute", + "node_id": 9, + "src": "67:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 10, + "src": "67:4:0", + "id": "self" + } + }, + "op": { + "ast_type": "Add", + "node_id": 11, + "src": "67:15:0" + }, + "value": { + "ast_type": "Int", + "node_id": 12, + "src": "81:1:0", + "value": 1 + } + }, + { + "ast_type": "Return", + "node_id": 13, + "src": "87:24:0", + "value": { + "ast_type": "Attribute", + "node_id": 14, + "src": "94:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 15, + "src": "94:4:0", + "id": "self" + } + } + } + ] + }, + "5": { + "ast_type": "arguments", + "node_id": 5, + "src": "48:0:0", + "args": [], + "defaults": [] + }, + "6": { + "ast_type": "Name", + "node_id": 6, + "src": "54:7:0", + "id": "uint256" + }, + "7": { + "ast_type": "Name", + "node_id": 7, + "src": "25:8:0", + "id": "external" + }, + "8": { + "ast_type": "AugAssign", + "node_id": 8, + "src": "67:15:0", + "target": { + "ast_type": "Attribute", + "node_id": 9, + "src": "67:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 10, + "src": "67:4:0", + "id": "self" + } + }, + "op": { + "ast_type": "Add", + "node_id": 11, + "src": "67:15:0" + }, + "value": { + "ast_type": "Int", + "node_id": 12, + "src": "81:1:0", + "value": 1 + } + }, + "9": { + "ast_type": "Attribute", + "node_id": 9, + "src": "67:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 10, + "src": "67:4:0", + "id": "self" + } + }, + "10": { + "ast_type": "Name", + "node_id": 10, + "src": "67:4:0", + "id": "self" + }, + "11": { + "ast_type": "Add", + "node_id": 11, + "src": "67:15:0" + }, + "12": { + "ast_type": "Int", + "node_id": 12, + "src": "81:1:0", + "value": 1 + }, + "13": { + "ast_type": "Return", + "node_id": 13, + "src": "87:24:0", + "value": { + "ast_type": "Attribute", + "node_id": 14, + "src": "94:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 15, + "src": "94:4:0", + "id": "self" + } + } + }, + "14": { + "ast_type": "Attribute", + "node_id": 14, + "src": "94:10:0", + "attr": "count", + "value": { + "ast_type": "Name", + "node_id": 15, + "src": "94:4:0", + "id": "self" + } + }, + "15": { + "ast_type": "Name", + "node_id": 15, + "src": "94:4:0", + "id": "self" + } + } + } +} diff --git a/tests/solidity_ast/__init__.py b/tests/solidity_ast/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/solidity_ast/test_schema_conformance.py b/tests/solidity_ast/test_schema_conformance.py new file mode 100644 index 0000000..8377e39 --- /dev/null +++ b/tests/solidity_ast/test_schema_conformance.py @@ -0,0 +1,466 @@ +"""Machine-checks every solidity_ast pydantic model against the vendored JSON Schema. + +The vendored OpenZeppelin ``solidity-ast`` schema (``certora_autosetup/solidity_ast/ +schema/schema.json``) is the source of truth for field sets. This test asserts, per +schema definition and property: presence, requiredness, nullability, discriminator +value, enum values, and a one-level structural kind check of the pydantic annotation. + +The schema-side helpers (``load_schema``/``node_definitions``/``classify_prop``) are +pure and importable without the model modules; everything model-side is imported +lazily via ``models()`` so this file stays usable while the model package is being +built. +""" + +from __future__ import annotations + +import json +from collections import Counter +from dataclasses import dataclass, field as dc_field, replace +from functools import lru_cache +from importlib import resources +from types import NoneType, UnionType +from typing import Annotated, Any, Literal, Union, get_args, get_origin + +import pytest + +# --------------------------------------------------------------------------- +# Schema side (pure: no model imports) +# --------------------------------------------------------------------------- + + +@lru_cache(maxsize=None) +def load_schema() -> dict[str, Any]: + schema_file = resources.files("certora_autosetup.solidity_ast") / "schema" / "schema.json" + return json.loads(schema_file.read_text(encoding="utf-8")) + + +@lru_cache(maxsize=None) +def node_definitions() -> dict[str, dict[str, Any]]: + """Every schema definition that has a ``nodeType`` property, plus the schema + ROOT (the SourceUnit definition lives at the top level, not under definitions). + """ + schema = load_schema() + defs = { + name: definition + for name, definition in schema["definitions"].items() + if "nodeType" in definition.get("properties", {}) + } + defs["SourceUnit"] = {"properties": schema["properties"], "required": schema["required"]} + return defs + + +@dataclass(frozen=True) +class Shape: + """One classified schema property (nulls stripped out of anyOf into ``nullable``).""" + + kind: str # primitive | enum | ref | array | map | object | union | null + nullable: bool = False + py: type | None = None # primitive + values: tuple[Any, ...] = () # enum + ref: str = "" # ref (definition name) + item: "Shape | None" = None # array + members: tuple["Shape", ...] = () # union + + +_PRIMITIVES = {"string": str, "integer": int, "boolean": bool, "number": float} + + +def classify_prop(prop: dict[str, Any]) -> Shape: + """Classify a schema property into a Shape; raises on any shape the schema does + not actually contain (so schema updates that add new shapes fail loudly). + """ + if "$ref" in prop: + return Shape("ref", ref=prop["$ref"].rsplit("/", 1)[-1]) + if "anyOf" in prop: + non_null = [m for m in prop["anyOf"] if m.get("type") != "null"] + nullable = len(non_null) < len(prop["anyOf"]) + if not non_null: + return Shape("null", nullable=True) + if len(non_null) == 1: + inner = classify_prop(non_null[0]) + return replace(inner, nullable=nullable or inner.nullable) + return Shape( + "union", nullable=nullable, members=tuple(classify_prop(m) for m in non_null) + ) + if "enum" in prop: + return Shape("enum", values=tuple(prop["enum"])) + schema_type = prop.get("type") + if schema_type == "null": + return Shape("null", nullable=True) + if schema_type in _PRIMITIVES: + return Shape("primitive", py=_PRIMITIVES[schema_type]) + if schema_type == "array": + return Shape("array", item=classify_prop(prop["items"])) + if schema_type == "object": + additional = prop.get("additionalProperties") + if isinstance(additional, dict): + return Shape("map", item=classify_prop(additional)) + return Shape("object") + raise ValueError(f"unclassifiable schema property: {json.dumps(prop)[:200]}") + + +def classify_all() -> Counter[str]: + """Classify every property of every node definition; raises if any is + unclassifiable. Returns kind counts ('?' suffix marks nullable shapes). + Runnable standalone, before the model modules exist. + """ + counts: Counter[str] = Counter() + for definition in node_definitions().values(): + for prop in definition["properties"].values(): + shape = classify_prop(prop) + counts[shape.kind + ("?" if shape.nullable else "")] += 1 + return counts + + +# --------------------------------------------------------------------------- +# Model side (lazy imports: unions.py wires and rebuilds all node modules) +# --------------------------------------------------------------------------- + + +class ModelInterface: + def __init__(self) -> None: + from pydantic import BaseModel + + from certora_autosetup.solidity_ast import unions, yul + from certora_autosetup.solidity_ast.base import ( + Mutability, + StateMutability, + StorageLocation, + TypeDescriptions, + UnknownNode, + Visibility, + ) + + self.base_model: type = BaseModel + self.registry: dict[str, type] = unions.MODEL_BY_SCHEMA_DEF + self.unknown_node: type = UnknownNode + self.type_descriptions: type = TypeDescriptions + # How each schema helper definition is transcribed on the python side. + self.ref_to_py: dict[str, Any] = { + "SourceLocation": str, + "TypeDescriptions": TypeDescriptions, + "Visibility": Visibility, + "StateMutability": StateMutability, + "Mutability": Mutability, + "StorageLocation": StorageLocation, + "Expression": unions.Expression, + "Statement": unions.Statement, + "TypeName": unions.TypeName, + "YulStatement": yul.YulStatement, + "YulExpression": yul.YulExpression, + "YulLiteral": yul.YulLiteral, + } + # Classes that legitimately appear inside field annotations; any other + # BaseModel subclass found there is an inline-object helper model. + self.known_classes: frozenset[type] = frozenset(self.registry.values()) | { + TypeDescriptions + } + + +@lru_cache(maxsize=None) +def models() -> ModelInterface: + return ModelInterface() + + +# Model fields allowed to have no schema property backing them. +# certoraRun injects certora_contract_name into the dump (AstNode base field); +# nativeSrc needs no entry because every Yul definition lists it in the schema. +FIELD_ALLOWLIST = frozenset({"certora_contract_name"}) + +# Definitions whose nodeType tag differs from the registry key: solc emits +# nodeType "YulLiteral" for both literal kinds, discriminated by hexValue/value. +TAG_OVERRIDES = {"YulLiteralValue": "YulLiteral", "YulLiteralHexValue": "YulLiteral"} + + +# --------------------------------------------------------------------------- +# Annotation flattening / atom extraction +# --------------------------------------------------------------------------- + + +def _flat_members(ann: Any) -> list[Any]: + """Union members of an annotation, with Annotated wrappers (pydantic Tag / + Discriminator metadata) and PEP 695 TypeAliasType lazily unwrapped. + """ + while True: + if type(ann).__name__ == "TypeAliasType" and hasattr(ann, "__value__"): + ann = ann.__value__ + continue + if get_origin(ann) is Annotated: + ann = get_args(ann)[0] + continue + break + if get_origin(ann) in (Union, UnionType): + members: list[Any] = [] + for arg in get_args(ann): + members.extend(_flat_members(arg)) + return members + return [ann] + + +@dataclass +class Atoms: + """The one-level structural content of an annotation (or of a Shape).""" + + classes: set[type] = dc_field(default_factory=set) # known models / primitives + helpers: set[type] = dc_field(default_factory=set) # inline-object helper models + literals: set[Any] = dc_field(default_factory=set) + lists: list[Any] = dc_field(default_factory=list) # element annotations / Shapes + dicts: int = 0 + objects: int = 0 # expected-side marker for inline-object schemas + has_none: bool = False + other: list[Any] = dc_field(default_factory=list) + + def merge(self, more: "Atoms") -> None: + self.classes |= more.classes + self.helpers |= more.helpers + self.literals |= more.literals + self.lists.extend(more.lists) + self.dicts += more.dicts + self.objects += more.objects + self.has_none = self.has_none or more.has_none + self.other.extend(more.other) + + +def atoms_of(ann: Any, m: ModelInterface) -> Atoms: + """Flatten a python annotation into Atoms. The deliberate extra UnknownNode + union member is dropped (it is not part of the schema contract). + """ + atoms = Atoms() + for member in _flat_members(ann): + origin = get_origin(member) + if member is NoneType: + atoms.has_none = True + elif origin is Literal: + atoms.literals |= set(get_args(member)) + elif origin is list: + args = get_args(member) + atoms.lists.append(args[0] if args else Any) + elif origin is dict: + atoms.dicts += 1 + elif isinstance(member, type): + if member is m.unknown_node: + pass + elif issubclass(member, m.base_model) and member not in m.known_classes: + atoms.helpers.add(member) + else: + atoms.classes.add(member) + else: + atoms.other.append(member) + return atoms + + +def expected_atoms(shape: Shape, m: ModelInterface) -> Atoms: + """Atoms the schema Shape demands of the annotation (nullability excluded -- + it is checked against requiredness separately). + """ + atoms = Atoms() + if shape.kind == "primitive": + assert shape.py is not None + atoms.classes.add(shape.py) + elif shape.kind == "enum": + atoms.literals |= set(shape.values) + elif shape.kind == "ref": + target = m.ref_to_py.get(shape.ref) + if target is not None: + resolved = atoms_of(target, m) # alias -> literals / union members / class + resolved.has_none = False # alias-internal nullability is not the field's + atoms.merge(resolved) + elif shape.ref in m.registry: + atoms.classes.add(m.registry[shape.ref]) + else: + atoms.other.append(f"unmapped $ref {shape.ref}") + elif shape.kind == "union": + for member in shape.members: + atoms.merge(expected_atoms(member, m)) + elif shape.kind == "array": + atoms.lists.append(shape.item) + elif shape.kind == "map": + atoms.dicts += 1 + elif shape.kind == "object": + atoms.objects += 1 + elif shape.kind == "null": + pass + return atoms + + +def _compare_atoms(actual: Atoms, expected: Atoms, where: str) -> list[str]: + """One-level comparison; array elements are compared one level deeper, maps and + inline objects are not recursed into. + """ + errors: list[str] = [] + if actual.classes != expected.classes: + errors.append( + f"{where}: annotation classes {sorted(c.__name__ for c in actual.classes)} " + f"!= schema {sorted(c.__name__ for c in expected.classes)}" + ) + if actual.literals != expected.literals: + errors.append( + f"{where}: Literal values {sorted(map(str, actual.literals))} " + f"!= schema enum {sorted(map(str, expected.literals))}" + ) + if expected.objects and not (actual.helpers or actual.dicts): + errors.append(f"{where}: schema inline object needs a helper BaseModel or dict") + if not expected.objects and actual.helpers: + errors.append( + f"{where}: unexpected helper model(s) " + f"{sorted(h.__name__ for h in actual.helpers)}" + ) + if expected.dicts and not actual.dicts: + errors.append(f"{where}: schema map needs a dict[...] annotation") + if actual.dicts and not (expected.dicts or expected.objects): + errors.append(f"{where}: unexpected dict annotation") + if expected.other: + errors.append(f"{where}: {expected.other}") + if actual.other: + errors.append(f"{where}: unrecognized annotation member(s) {actual.other}") + return errors + + +def check_shape(shape: Shape, ann: Any, m: ModelInterface, where: str) -> list[str]: + actual = atoms_of(ann, m) + expected = expected_atoms(shape, m) + errors = _compare_atoms(actual, expected, where) + + if expected.lists: + if not actual.lists: + errors.append(f"{where}: schema array needs a list[...] annotation") + else: + # Compare all list elements jointly, so both list[A] | list[B] and + # list[A | B] transcriptions of an anyOf-of-arrays are accepted. + elem_expected = Atoms() + elem_nullable = False + for item_shape in expected.lists: + assert isinstance(item_shape, Shape) + elem_expected.merge(expected_atoms(item_shape, m)) + elem_nullable = elem_nullable or item_shape.nullable + elem_actual = Atoms() + for elem_ann in actual.lists: + elem_actual.merge(atoms_of(elem_ann, m)) + errors += _compare_atoms(elem_actual, elem_expected, where + " (element)") + if elem_nullable and not elem_actual.has_none: + errors.append(f"{where}: array items are nullable, element lacks | None") + if elem_actual.has_none and not elem_nullable: + errors.append(f"{where}: element allows None but schema items are not nullable") + elif actual.lists: + errors.append(f"{where}: unexpected list annotation") + return errors + + +# --------------------------------------------------------------------------- +# Per-property check +# --------------------------------------------------------------------------- + + +def field_for(model: type, prop: str) -> Any: + for field_name, info in model.model_fields.items(): # type: ignore[attr-defined] + if field_name == prop or info.alias == prop: + return info + return None + + +def check_property( + model: type, prop: str, spec: dict[str, Any], required: bool, m: ModelInterface +) -> list[str]: + where = f"{model.__name__}.{prop}" + info = field_for(model, prop) + if info is None: + return [f"{where}: field missing (no field named or aliased '{prop}')"] + + errors: list[str] = [] + shape = classify_prop(spec) + nullable = shape.nullable or shape.kind == "null" + has_none = atoms_of(info.annotation, m).has_none + + if required: + if not info.is_required(): + errors.append(f"{where}: schema-required but field has a default") + if nullable and not has_none: + errors.append(f"{where}: required-but-nullable, annotation lacks | None") + if not nullable and has_none: + errors.append(f"{where}: required non-nullable, annotation must not allow None") + else: + if info.is_required(): + errors.append(f"{where}: schema-optional but field is required") + elif info.default is not None: + errors.append(f"{where}: schema-optional, default must be None (got {info.default!r})") + if not has_none: + errors.append(f"{where}: schema-optional, annotation lacks | None") + + if prop == "nodeType": + if get_args(info.annotation) != (shape.values[0],): + errors.append( + f"{where}: get_args(annotation) == {get_args(info.annotation)!r}, " + f"expected ({shape.values[0]!r},)" + ) + elif shape.kind != "null": # a pure-null property only constrains nullability + errors += check_shape(shape, info.annotation, m, where) + return errors + + +# --------------------------------------------------------------------------- +# Tests +# --------------------------------------------------------------------------- + +DEF_NAMES = sorted(node_definitions()) + + +def test_classifier_covers_every_schema_shape() -> None: + """Pure schema test (no models): every property shape is classifiable.""" + counts = classify_all() + assert sum(counts.values()) == sum( + len(d["properties"]) for d in node_definitions().values() + ) + + +def test_registry_coverage_both_directions() -> None: + m = models() + schema_names = set(node_definitions()) + model_names = set(m.registry) + missing = schema_names - model_names + extra = model_names - schema_names + assert not missing and not extra, ( + f"MODEL_BY_SCHEMA_DEF mismatch: missing={sorted(missing)} extra={sorted(extra)}" + ) + + +@pytest.mark.parametrize("def_name", DEF_NAMES) +def test_definition_conforms_to_schema(def_name: str) -> None: + m = models() + model = m.registry.get(def_name) + assert model is not None, f"no model registered for schema definition {def_name}" + definition = node_definitions()[def_name] + required = set(definition.get("required", [])) + errors: list[str] = [] + for prop, spec in definition["properties"].items(): + errors += check_property(model, prop, spec, prop in required, m) + assert not errors, "\n".join(errors) + + +@pytest.mark.parametrize("def_name", DEF_NAMES) +def test_no_fields_beyond_schema(def_name: str) -> None: + m = models() + model = m.registry.get(def_name) + assert model is not None, f"no model registered for schema definition {def_name}" + props = set(node_definitions()[def_name]["properties"]) + stray = [ + info.alias or field_name + for field_name, info in model.model_fields.items() + if (info.alias or field_name) not in props + and (info.alias or field_name) not in FIELD_ALLOWLIST + ] + assert not stray, f"{model.__name__}: fields with no schema property: {sorted(stray)}" + + +def test_node_type_tags_match_registry_keys() -> None: + m = models() + errors: list[str] = [] + for def_name, model in m.registry.items(): + expected_tag = TAG_OVERRIDES.get(def_name, def_name) + info = model.model_fields.get("nodeType") + if info is None: + errors.append(f"{def_name}: model {model.__name__} has no nodeType field") + continue + tags = get_args(info.annotation) + if tags != (expected_tag,): + errors.append(f"{def_name}: nodeType Literal {tags!r} != ({expected_tag!r},)") + assert not errors, "\n".join(errors) From ea597acccaa789520aa2213ed702d1176c8e91fe Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 18:43:27 +0300 Subject: [PATCH 03/13] solidity_ast: loader/traversal/fixture-parsing tests + parent-graph golden test Co-Authored-By: Claude Fable 5 --- tests/solidity_ast/test_fixture_parsing.py | 125 ++++++++++++++++++ tests/solidity_ast/test_loader.py | 77 +++++++++++ .../solidity_ast/test_parent_graph_compat.py | 22 +++ tests/solidity_ast/test_traversal.py | 75 +++++++++++ 4 files changed, 299 insertions(+) create mode 100644 tests/solidity_ast/test_fixture_parsing.py create mode 100644 tests/solidity_ast/test_loader.py create mode 100644 tests/solidity_ast/test_parent_graph_compat.py create mode 100644 tests/solidity_ast/test_traversal.py diff --git a/tests/solidity_ast/test_fixture_parsing.py b/tests/solidity_ast/test_fixture_parsing.py new file mode 100644 index 0000000..fa5c4aa --- /dev/null +++ b/tests/solidity_ast/test_fixture_parsing.py @@ -0,0 +1,125 @@ +"""Strict round-trips of real certoraRun --dump_asts fixtures through the typed models. + +These are the schema-drift alarm: a solc release that adds a nodeType shows up as an +UnknownNode here, and a new field shows up as a non-empty model_extra — both fail. +""" + +from pathlib import Path + +import pytest + +from certora_autosetup.solidity_ast import ( + AstDump, + ContractDefinition, + ErrorDefinition, + InlineAssembly, + MemberAccess, + RevertStatement, + UncheckedBlock, + UnknownNode, + UserDefinedValueTypeDefinition, + YulBlock, + find_all, + walk, +) + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" +SOLC_FIXTURES = ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] + + +@pytest.fixture(scope="module", params=SOLC_FIXTURES) +def dump(request: pytest.FixtureRequest) -> AstDump: + return AstDump.load(FIXTURES / f"{request.param}.asts.json", on_error="raise") + + +def test_all_sources_parse(dump: AstDump) -> None: + sources = list(dump.iter_sources()) + assert sources + for _, source in sources: + assert source.raw_kind == "solidity" + assert source.root is not None + + +def test_no_unknown_nodes(dump: AstDump) -> None: + for _, _, root in dump.iter_parsed_roots(): + unknown = {n.nodeType for n in walk(root) if isinstance(n, UnknownNode)} + assert not unknown, f"nodeTypes not covered by the model set: {unknown}" + + +def test_no_extra_fields(dump: AstDump) -> None: + for _, _, root in dump.iter_parsed_roots(): + extras = { + f"{type(n).__name__}.{key}" + for n in walk(root) + for key in (n.model_extra or {}) + } + assert not extras, f"fields present in solc output but missing from models: {extras}" + + +def test_typed_index_covers_raw_index(dump: AstDump) -> None: + # The reverse (typed finding MORE nodes than the raw flat map) is expected: the + # certoraRun flattener does not descend through id-less container objects. + for _, source in dump.iter_sources(): + raw_ids = {int(i) for i in source.raw if i.lstrip("-").isdigit()} + missing = raw_ids - set(source.nodes) + assert not missing, f"{source.source_path}: raw ids unreachable by typed walk: {missing}" + + +def test_certora_contract_name_stamping(dump: AstDump) -> None: + stamped = [ + n + for _, source in dump.iter_sources() + for n in source.nodes.values() + if n.certora_contract_name is not None + ] + assert stamped + assert all(isinstance(n.certora_contract_name, str) for n in stamped) + + +def test_inheritance_semantics(dump: AstDump) -> None: + contracts = { + c.name: c + for _, _, root in dump.iter_parsed_roots() + for c in find_all(root, ContractDefinition) + } + diamond = contracts["Diamond"] + id_to_name = {c.id: c.name for c in contracts.values()} + linearized = [id_to_name[i] for i in diamond.linearizedBaseContracts] + assert linearized[0] == "Diamond" + assert set(linearized[1:]) >= {"Base"} + assert any(c.contractKind == "interface" for c in contracts.values()) + assert any(c.contractKind == "library" for c in contracts.values()) + assert any(c.abstract for c in contracts.values()) + + +def test_src_location_points_at_source(dump: AstDump) -> None: + for _, _, root in dump.iter_parsed_roots(): + source_text = (FIXTURES / "contracts" / root.absolutePath).read_bytes() + contract = next(find_all(root, ContractDefinition)) + loc = contract.src_location + snippet = source_text[loc.offset : loc.offset + loc.length] + assert snippet.split()[0] in (b"contract", b"abstract", b"interface", b"library") + + +def test_yul_present(dump: AstDump) -> None: + assemblies = [ + a for _, _, root in dump.iter_parsed_roots() for a in find_all(root, InlineAssembly) + ] + assert assemblies + for assembly in assemblies: + assert isinstance(assembly.AST, YulBlock) + assert assembly.AST.statements + + +def test_08_specific_nodes_present() -> None: + dump = AstDump.load(FIXTURES / "solc_0_8_30.asts.json", on_error="raise") + roots = [root for _, _, root in dump.iter_parsed_roots()] + for node_type in (ErrorDefinition, RevertStatement, UncheckedBlock, UserDefinedValueTypeDefinition): + assert any(any(find_all(r, node_type)) for r in roots), node_type.__name__ + code_accesses = [ + m + for r in roots + for m in find_all(r, MemberAccess) + if m.memberName == "code" + ] + assert code_accesses diff --git a/tests/solidity_ast/test_loader.py b/tests/solidity_ast/test_loader.py new file mode 100644 index 0000000..2c70ffd --- /dev/null +++ b/tests/solidity_ast/test_loader.py @@ -0,0 +1,77 @@ +"""Loader behavior: degradation policy, Vyper passthrough, unknown-node fallback.""" + +from pathlib import Path + +import pytest +from pydantic import ValidationError + +from certora_autosetup.solidity_ast import AstDump, SourceUnit, UnknownNode, walk + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" + +MINIMAL_SOURCE_UNIT = { + "id": 1, + "src": "0:10:0", + "absolutePath": "a.sol", + "exportedSymbols": {}, + "nodes": [], + "nodeType": "SourceUnit", +} + + +def _dump_of(flat: dict) -> dict: + return {"a.sol": {"/abs/a.sol": flat}} + + +def test_minimal_source_unit_parses() -> None: + dump = AstDump.from_dict(_dump_of({"1": MINIMAL_SOURCE_UNIT}), on_error="raise") + [(_, source)] = list(dump.iter_sources()) + assert isinstance(source.root, SourceUnit) + assert source.nodes.keys() == {1} + assert dump.find_node("/abs/a.sol", 1) is source.root + + +def test_vyper_source_is_raw_passthrough() -> None: + dump = AstDump.load(FIXTURES / "vyper_mixed.asts.json", on_error="raise") + kinds = {source.source_path: source.raw_kind for _, source in dump.iter_sources()} + assert kinds == {"counter.sol": "solidity", "counter.vy": "vyper"} + vyper = next(s for _, s in dump.iter_sources() if s.raw_kind == "vyper") + assert vyper.root is None and vyper.nodes == {} and vyper.raw + # typed iteration skips it + assert all(path == "counter.sol" for _, path, _ in dump.iter_parsed_roots()) + + +def test_unknown_node_type_degrades_per_node() -> None: + root = dict(MINIMAL_SOURCE_UNIT) + root["nodes"] = [ + {"id": 2, "src": "0:5:0", "nodeType": "FrobnicationDefinition", "frob": True} + ] + dump = AstDump.from_dict(_dump_of({"1": root}), on_error="raise") + [(_, source)] = list(dump.iter_sources()) + assert source.root is not None + [unknown] = [n for n in walk(source.root) if isinstance(n, UnknownNode)] + assert unknown.nodeType == "FrobnicationDefinition" + assert unknown.model_extra == {"frob": True} + + +def test_shape_mismatch_degrades_per_source() -> None: + broken = dict(MINIMAL_SOURCE_UNIT) + broken["exportedSymbols"] = "not-a-dict" + data = _dump_of({"1": broken}) + + dump = AstDump.from_dict(data, on_error="raw") + [(_, source)] = list(dump.iter_sources()) + assert source.raw_kind == "parse_failed" + assert source.root is None and source.raw and source.parse_error + + with pytest.raises(ValidationError): + AstDump.from_dict(data, on_error="raise") + + +def test_missing_source_unit_degrades() -> None: + data = _dump_of({"7": {"id": 7, "src": "0:1:0", "nodeType": "PragmaDirective", "literals": []}}) + dump = AstDump.from_dict(data, on_error="raw") + [(_, source)] = list(dump.iter_sources()) + assert source.raw_kind == "parse_failed" + with pytest.raises(ValueError): + AstDump.from_dict(data, on_error="raise") diff --git a/tests/solidity_ast/test_parent_graph_compat.py b/tests/solidity_ast/test_parent_graph_compat.py new file mode 100644 index 0000000..82044c8 --- /dev/null +++ b/tests/solidity_ast/test_parent_graph_compat.py @@ -0,0 +1,22 @@ +"""Byte-compatibility of the legacy parent-graph JSON. + +`.certora_internal/all_ast_parent_graph.json` is read by other code, so +`build_parent_graph_json` must reproduce the historical output byte-for-byte. +The golden file was produced by the frozen copy of the original algorithm in +tests/fixtures/solidity_ast/generate_fixtures.py --golden. +""" + +import json +from pathlib import Path + +from certora_autosetup.solidity_ast import build_parent_graph_json + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" + + +def test_parent_graph_byte_identical_to_golden() -> None: + with open(FIXTURES / "solc_0_8_30.asts.json") as f: + raw = json.load(f) + produced = json.dumps(build_parent_graph_json(raw), indent=2) + "\n" + golden = (FIXTURES / "expected_parent_graph_0_8_30.json").read_text() + assert produced == golden diff --git a/tests/solidity_ast/test_traversal.py b/tests/solidity_ast/test_traversal.py new file mode 100644 index 0000000..cc5b237 --- /dev/null +++ b/tests/solidity_ast/test_traversal.py @@ -0,0 +1,75 @@ +"""Traversal semantics: order, transparency of helper containers, parent maps.""" + +import json +from pathlib import Path + +from certora_autosetup.solidity_ast import ( + AstDump, + ContractDefinition, + FunctionDefinition, + IdentifierPath, + SourceUnit, + UsingForDirective, + build_parent_map, + find_all, + iter_children, + walk, +) + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" + + +def _root_08() -> SourceUnit: + dump = AstDump.load(FIXTURES / "solc_0_8_30.asts.json", on_error="raise") + [root] = [root for _, _, root in dump.iter_parsed_roots()] + return root + + +def test_walk_is_preorder_document_order() -> None: + root = _root_08() + nodes = list(walk(root)) + assert nodes[0] is root + # document order: src offsets of the top-level nodes are non-decreasing + offsets = [n.src_location.offset for n in iter_children(root)] + assert offsets == sorted(offsets) + + +def test_find_all_includes_matching_root() -> None: + root = _root_08() + contract = next(find_all(root, ContractDefinition)) + assert next(find_all(contract, ContractDefinition)) is contract + + +def test_helper_containers_are_transparent() -> None: + # `using {addPrice as +, ...} for Price global`: the IdentifierPath nodes live + # inside functionList helper objects and must still be reachable. + root = _root_08() + directives = [u for u in find_all(root, UsingForDirective) if u.functionList] + assert directives + paths = [p for u in directives for p in find_all(u, IdentifierPath)] + assert {getattr(p, "name") for p in paths} >= {"addPrice", "eqPrice"} + + +def test_parent_map_matches_containment() -> None: + root = _root_08() + parent_map = build_parent_map(root) + contract = next(find_all(root, ContractDefinition)) + function = next(find_all(contract, FunctionDefinition)) + # walk up from the function; must reach the contract, then the root (no parent) + seen = set() + node_id = function.id + while node_id in parent_map: + node_id = parent_map[node_id] + assert node_id not in seen, "cycle in parent map" + seen.add(node_id) + assert node_id == root.id + assert contract.id in seen + + +def test_parent_map_ids_exist_in_index() -> None: + dump = AstDump.load(FIXTURES / "solc_0_8_30.asts.json", on_error="raise") + for _, source in dump.iter_sources(): + assert source.root is not None + parent_map = build_parent_map(source.root) + assert set(parent_map) <= set(source.nodes) + assert set(parent_map.values()) <= set(source.nodes) From af9d76909cc9da14f48f8e7a37db04561ff3797e Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 18:51:47 +0300 Subject: [PATCH 04/13] autosetup: migrate AST consumers to the typed solidity_ast models setup_prover: declared-contracts and inheritance extraction go through a shared _iter_contract_declarations (typed find_all with a raw-scan fallback for sources the models cannot parse); generate_ast_graph delegates to the relocated byte-compatible parent-graph builder. auto_munges: .code detection iterates typed MemberAccess nodes (per-node raw salvage on unparsable sources) and decodes src offsets via parse_src. Parity with the legacy raw algorithms is pinned by tests/solidity_ast/test_consumer_migration.py on the real fixtures. Co-Authored-By: Claude Fable 5 --- certora_autosetup/setup/auto_munges.py | 73 ++++---- certora_autosetup/setup/setup_prover.py | 168 ++++++++---------- tests/solidity_ast/test_consumer_migration.py | 132 ++++++++++++++ 3 files changed, 251 insertions(+), 122 deletions(-) create mode 100644 tests/solidity_ast/test_consumer_migration.py diff --git a/certora_autosetup/setup/auto_munges.py b/certora_autosetup/setup/auto_munges.py index 2a9e03f..3d07756 100644 --- a/certora_autosetup/setup/auto_munges.py +++ b/certora_autosetup/setup/auto_munges.py @@ -10,8 +10,11 @@ import traceback from dataclasses import asdict, dataclass from pathlib import Path -from typing import Any, Callable, Dict, List, Tuple +from typing import Callable, Dict, Iterator, List, Tuple +from pydantic import ValidationError + +from certora_autosetup.solidity_ast import AstDump, MemberAccess, SourceAst, find_all, parse_src from certora_autosetup.utils.scope import Scope CODE_ACCESS_PATCH_FILE = ".certora_internal/code_access_patches.json" @@ -212,6 +215,22 @@ def _load_ast_parent_graph(graph_path: Path) -> Dict[str, Dict[str, Dict[str, st return {} +def _iter_member_accesses(source: SourceAst) -> Iterator[MemberAccess]: + """MemberAccess nodes of one source: from the typed tree when it parsed, and by + validating individual raw flat-map nodes when it did not (so a solc surprise + elsewhere in the file cannot hide a .code access). Vyper sources yield nothing. + """ + if source.root is not None: + yield from find_all(source.root, MemberAccess) + elif source.raw_kind == "parse_failed": + for node in source.raw.values(): + if isinstance(node, dict) and node.get("nodeType") == "MemberAccess": + try: + yield MemberAccess.model_validate(node) + except ValidationError: + continue + + def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Path, scope: Scope) -> None: """ Detect .code accesses in the AST and create patches to rewrite them as loadCode(pointer) calls. @@ -229,8 +248,7 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat log_func("Warning: .asts.json file not found, skipping code access munging", "WARNING") return - with open(ast_path, 'r') as f: - asts_data = json.load(f) + dump = AstDump.load(ast_path) # Load parent graph for efficient parent lookups parent_graph = _load_ast_parent_graph(ast_graph_path) @@ -239,12 +257,12 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat patches = [] # Structure: dict[relative_path: dict[absolute_path: dict[node_id: node_data]]] - for relative_path, path_data in asts_data.items(): + for relative_path, file_asts in dump.files.items(): # Skip files not in scope if not scope.is_file_in_scope(Path(relative_path)): continue - for absolute_path, nodes in path_data.items(): + for absolute_path, source in file_asts.sources.items(): # Convert absolute path to relative for scope checking # The scope object works with paths relative to project_root try: @@ -263,14 +281,10 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat if not scope.is_file_in_scope(rel_path_for_scope): continue - # Iterate through all nodes (they're already flattened) - for _, node in nodes.items(): - if not isinstance(node, dict): - continue - - # Check if this is a MemberAccess node with memberName="code" - if node.get('nodeType') == 'MemberAccess' and node.get('memberName') == 'code': - node_id = str(node.get('id')) + # Find MemberAccess nodes with memberName="code" in this source + for node in _iter_member_accesses(source): + if node.memberName == 'code': + node_id = str(node.id) # Check if this .code access is used as expression in another node using parent graph # If the parent graph exists, use it for O(1) lookup @@ -279,7 +293,8 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat parent_id = parent_map.get(node_id) if parent_id: - parent_node = nodes.get(parent_id, {}) + # The raw flat map covers parsed and unparsed sources alike + parent_node = source.raw.get(parent_id, {}) parent_type = parent_node.get('nodeType') # Skip if parent is MemberAccess (like .code.length) or FunctionCall (like x.code()) @@ -288,7 +303,7 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat else: # Fallback: check manually if graph not available is_chained = False - for _, other_node in nodes.items(): + for other_node in source.raw.values(): if not isinstance(other_node, dict): continue @@ -302,32 +317,26 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat if is_chained: continue # Skip this .code access, it's part of a chain or function call - # Extract source location: "offset:length:file_id" - src = node.get('src', '') - if not src: + # Extract source location: "offset:length:file_id" (byte offsets) + if not node.src: continue - parts = src.split(':') - if len(parts) != 3: + try: + offset, length, _ = node.src_location + except ValueError: continue - offset = int(parts[0]) - length = int(parts[1]) - # file_id = int(parts[2]) # Not needed since we already know the file from absolute_path - - # Get the expression being accessed (e.g., "pointer" from "pointer.code") - expression = node.get('expression', {}) - expr_src = expression.get('src', '') + # Get the expression being accessed (e.g., "pointer" from "pointer.code"); + # an UnknownNode expression has src="" and is skipped below + expr_src = node.expression.src if not expr_src: continue - expr_parts = expr_src.split(':') - if len(expr_parts) != 3: + try: + expr_offset, expr_length, _ = parse_src(expr_src) + except ValueError: continue - expr_offset = int(expr_parts[0]) - expr_length = int(expr_parts[1]) - # Read the original expression from the source file try: with open(relative_path, 'r') as src_file: diff --git a/certora_autosetup/setup/setup_prover.py b/certora_autosetup/setup/setup_prover.py index af5fe99..eaacb33 100644 --- a/certora_autosetup/setup/setup_prover.py +++ b/certora_autosetup/setup/setup_prover.py @@ -15,8 +15,9 @@ import subprocess import sys import traceback +from dataclasses import dataclass from pathlib import Path -from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Tuple +from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Set, Tuple if TYPE_CHECKING: from certora_autosetup.setup.setup_summaries import SummarySetup @@ -29,6 +30,7 @@ from certora_autosetup.setup.signature_manager import SignatureManager from certora_autosetup.setup.signature_types import ContractInfo from certora_autosetup.setup.solidity_utils import extract_definitions_from_solidity +from certora_autosetup.solidity_ast import AstDump, ContractDefinition, build_parent_graph_json, find_all from packaging.version import Version from certora_autosetup.utils.config_manager import convert_solc_version_to_certora_format from certora_autosetup.cache.cache_fs import cache_path, get_fs @@ -52,6 +54,52 @@ from certora_autosetup.utils.solc_version_resolver import VIA_IR_MIN_VERSION from certora_autosetup.utils.types import ContractHandle, ContractKind, TypeParseMode, parse_type_descriptor +@dataclass(frozen=True) +class _ContractDeclView: + """Uniform view of a ContractDefinition for declaration/inheritance scans, whether + it came from the typed AST or from the raw fallback of an unparsable source.""" + + source_path: str + node_id: Optional[int] + name: str + abstract: bool + contract_kind: str + linearized_base_ids: List[int] + + +def _iter_contract_declarations(dump: AstDump) -> Iterator[_ContractDeclView]: + """Every contract declaration in an AST dump. + + Sources whose typed parse failed are scanned via their raw flat map so a solc + surprise cannot hide contracts from setup; Vyper sources contribute nothing + (they have no ContractDefinition nodes). + """ + for _, source in dump.iter_sources(): + if source.root is not None: + for contract in find_all(source.root, ContractDefinition): + yield _ContractDeclView( + source_path=source.source_path, + node_id=contract.id, + name=contract.name, + abstract=contract.abstract, + contract_kind=contract.contractKind, + linearized_base_ids=list(contract.linearizedBaseContracts), + ) + elif source.raw_kind == "parse_failed": + for node in source.raw.values(): + if isinstance(node, dict) and node.get("nodeType") == "ContractDefinition": + yield _ContractDeclView( + source_path=source.source_path, + node_id=node.get("id"), + name=node.get("name") or "", + abstract=bool(node.get("abstract", False)), + contract_kind=node.get("contractKind", "contract"), + linearized_base_ids=[ + i for i in node.get("linearizedBaseContracts", []) if isinstance(i, int) + ], + ) + + class CompilationAnalysisError(Exception): """Raised when compilation analysis fails.""" @@ -721,18 +769,11 @@ def _build_declared_contracts_by_file(self) -> Dict[str, Set[str]]: ast_path = self._build_dir / FILE_BUILD_ASTS if self._build_dir else None if not ast_path or not ast_path.exists(): return {} - with open(ast_path, "r", encoding="utf-8") as f: - asts = json.load(f) - for abs_path_dict in asts.values(): - for abs_path, nodes in abs_path_dict.items(): - rel = self.scope.get_relative_path(Path(abs_path)) - for node in nodes.values(): - if ( - node.get("nodeType") == "ContractDefinition" - and node.get("contractKind") != "interface" - and node.get("name") - ): - contracts_by_file.setdefault(rel, set()).add(node["name"]) + dump = AstDump.load(ast_path) + for decl in _iter_contract_declarations(dump): + if decl.contract_kind != "interface" and decl.name: + rel = self.scope.get_relative_path(Path(decl.source_path)) + contracts_by_file.setdefault(rel, set()).add(decl.name) return contracts_by_file def _sole_contract_declared_in(self, original_file: str) -> str: @@ -1140,46 +1181,34 @@ def _extract_inheritance_and_abstract_from_ast(self, ast_file_path: Optional[Pat return inheritance_info, abstract_contracts try: - with open(ast_file_path, "r", encoding="utf-8") as f: - asts = json.load(f) + dump = AstDump.load(ast_file_path) self.log(f"Extracting inheritance info from {ast_file_path}") + declarations = list(_iter_contract_declarations(dump)) + # Extract inheritance info from AST structure # Build ID to contract name mapping once - id_to_name = {} - for file_path, abs_path_dict in asts.items(): - for abs_path, nodes in abs_path_dict.items(): - for node_id, node in nodes.items(): - if node.get("nodeType") == "ContractDefinition": - contract_id = node.get("id") - contract_name = node.get("name") - if contract_id and contract_name: - id_to_name[contract_id] = contract_name + id_to_name = { + decl.node_id: decl.name for decl in declarations if decl.node_id and decl.name + } # Now process contracts and resolve inheritance using the pre-built mapping - for file_path, abs_path_dict in asts.items(): - for abs_path, nodes in abs_path_dict.items(): - for node_id, node in nodes.items(): - # Look for contract definitions to get linearizedBaseContracts - if node.get("nodeType") == "ContractDefinition": - contract_name = node.get("name") - if contract_name: - # Check if abstract or interface - is_abstract = node.get("abstract", False) - contract_kind = node.get("contractKind", "contract") - - if is_abstract or contract_kind == "interface": - abstract_contracts.add(contract_name) - self.log(f"Identified {'abstract' if is_abstract else 'interface'}: {contract_name}", "DEBUG") - - # Get linearized base contracts (includes self + all inherited contracts) - linearized = node.get("linearizedBaseContracts", []) - if len(linearized) > 1: # More than just self - # Convert IDs to contract names using pre-built mapping - base_contracts = [id_to_name[contract_id] for contract_id in linearized[1:] if contract_id in id_to_name] - if base_contracts: - inheritance_info[contract_name] = base_contracts + for decl in declarations: + if not decl.name: + continue + # Check if abstract or interface + if decl.abstract or decl.contract_kind == "interface": + abstract_contracts.add(decl.name) + self.log(f"Identified {'abstract' if decl.abstract else 'interface'}: {decl.name}", "DEBUG") + + # Get linearized base contracts (includes self + all inherited contracts) + linearized = decl.linearized_base_ids + if len(linearized) > 1: # More than just self + # Convert IDs to contract names using pre-built mapping + base_contracts = [id_to_name[contract_id] for contract_id in linearized[1:] if contract_id in id_to_name] + if base_contracts: + inheritance_info[decl.name] = base_contracts self.log(f"Extracted inheritance for {len(inheritance_info)} contracts", "DEBUG") self.log(f"Found {len(abstract_contracts)} abstract/interface contracts to skip", "INFO") @@ -1306,7 +1335,7 @@ def generate_ast_graph(self, ast_path: Path) -> None: ast_path: Path to the .asts.json file Output: - Writes to .certora_internal/.ast_graph.json with structure: + Writes to .certora_internal/all_ast_parent_graph.json with structure: { "relative_path": { "absolute_path": { @@ -1321,25 +1350,8 @@ def generate_ast_graph(self, ast_path: Path) -> None: with open(ast_path, 'r') as f: asts_data = json.load(f) - # Build parent graph: node_id -> parent_node_id - parent_graph = {} - - # Structure: dict[relative_path: dict[absolute_path: dict[node_id: node_data]]] - for relative_path, path_data in asts_data.items(): - parent_graph[relative_path] = {} - - for absolute_path, nodes in path_data.items(): - parent_graph[relative_path][absolute_path] = {} - - # For each node, find all child node IDs and map them to this parent - for node_id, node in nodes.items(): - if not isinstance(node, dict): - continue - - # Find all child node IDs referenced in this node - child_ids = self._extract_child_node_ids(node) - for child_id in child_ids: - parent_graph[relative_path][absolute_path][str(child_id)] = str(node_id) + # Build parent graph: node_id -> parent_node_id (byte-compatible legacy format) + parent_graph = build_parent_graph_json(asts_data) # Write parent graph to JSON graph_path = self.getASTParentGraphPath() @@ -1352,30 +1364,6 @@ def generate_ast_graph(self, ast_path: Path) -> None: self.log(f"Warning: Failed to generate AST parent graph: {e}", "WARNING") self.log(f"Traceback: {traceback.format_exc()}", "WARNING") - def _extract_child_node_ids(self, node: Any) -> List[int]: - """ - Extract all child node IDs from an AST node. - - Args: - node: AST node (dict or other type) - - Returns: - List of child node IDs - """ - child_ids = [] - - if isinstance(node, dict): - for key, value in node.items(): - # Look for 'id' fields in nested structures - if isinstance(value, dict) and 'id' in value: - child_ids.append(value['id']) - elif isinstance(value, list): - for item in value: - if isinstance(item, dict) and 'id' in item: - child_ids.append(item['id']) - - return child_ids - def getASTPath(self) -> Path: return Path(".certora_internal/all_asts.json") diff --git a/tests/solidity_ast/test_consumer_migration.py b/tests/solidity_ast/test_consumer_migration.py new file mode 100644 index 0000000..ae34528 --- /dev/null +++ b/tests/solidity_ast/test_consumer_migration.py @@ -0,0 +1,132 @@ +"""Parity of the migrated AST consumers with the legacy raw-dict algorithms. + +Each test re-implements the pre-migration algorithm inline (frozen) and asserts the +typed replacement produces identical results on the real fixtures. +""" + +import json +from pathlib import Path +from typing import Any + +import pytest + +from certora_autosetup.setup.auto_munges import CODE_ACCESS_PATCH_FILE, detect_code_accesses +from certora_autosetup.setup.setup_prover import _iter_contract_declarations +from certora_autosetup.solidity_ast import AstDump +from certora_autosetup.utils.scope import Scope + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" +SOLC_FIXTURES = ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] + + +def _load_raw(name: str) -> dict[str, Any]: + with open(FIXTURES / f"{name}.asts.json") as f: + return json.load(f) + + +def _legacy_inheritance(asts: dict[str, Any]) -> tuple[dict[str, list[str]], set[str]]: + inheritance_info: dict[str, list[str]] = {} + abstract_contracts: set[str] = set() + id_to_name = {} + for abs_path_dict in asts.values(): + for nodes in abs_path_dict.values(): + for node in nodes.values(): + if node.get("nodeType") == "ContractDefinition": + if node.get("id") and node.get("name"): + id_to_name[node["id"]] = node["name"] + for abs_path_dict in asts.values(): + for nodes in abs_path_dict.values(): + for node in nodes.values(): + if node.get("nodeType") == "ContractDefinition" and node.get("name"): + if node.get("abstract", False) or node.get("contractKind", "contract") == "interface": + abstract_contracts.add(node["name"]) + linearized = node.get("linearizedBaseContracts", []) + if len(linearized) > 1: + bases = [id_to_name[i] for i in linearized[1:] if i in id_to_name] + if bases: + inheritance_info[node["name"]] = bases + return inheritance_info, abstract_contracts + + +@pytest.mark.parametrize("fixture", SOLC_FIXTURES) +def test_inheritance_extraction_parity(fixture: str) -> None: + raw = _load_raw(fixture) + expected_inheritance, expected_abstract = _legacy_inheritance(raw) + + declarations = list(_iter_contract_declarations(AstDump.from_dict(raw))) + id_to_name = {d.node_id: d.name for d in declarations if d.node_id and d.name} + inheritance: dict[str, list[str]] = {} + abstract: set[str] = set() + for decl in declarations: + if not decl.name: + continue + if decl.abstract or decl.contract_kind == "interface": + abstract.add(decl.name) + if len(decl.linearized_base_ids) > 1: + bases = [id_to_name[i] for i in decl.linearized_base_ids[1:] if i in id_to_name] + if bases: + inheritance[decl.name] = bases + + assert inheritance == expected_inheritance + assert abstract == expected_abstract + assert expected_inheritance # fixtures must actually exercise inheritance + + +@pytest.mark.parametrize("fixture", SOLC_FIXTURES) +def test_declared_contracts_parity(fixture: str) -> None: + raw = _load_raw(fixture) + expected: dict[str, set[str]] = {} + for abs_path_dict in raw.values(): + for abs_path, nodes in abs_path_dict.items(): + for node in nodes.values(): + if ( + node.get("nodeType") == "ContractDefinition" + and node.get("contractKind") != "interface" + and node.get("name") + ): + expected.setdefault(abs_path, set()).add(node["name"]) + + actual: dict[str, set[str]] = {} + for decl in _iter_contract_declarations(AstDump.from_dict(raw)): + if decl.contract_kind != "interface" and decl.name: + actual.setdefault(decl.source_path, set()).add(decl.name) + + assert actual == expected + + +def test_detect_code_accesses_end_to_end(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: + """Drive the migrated detect_code_accesses on the 0.8.30 fixture and check the + patch file targets the exact `probe.code` byte range of the source.""" + contracts = FIXTURES / "contracts" + project = tmp_path / "project" + project.mkdir() + source_name = "breadth_08.sol" + (project / source_name).write_bytes((contracts / source_name).read_bytes()) + (project / "dummy.spec").write_text("") + + ast_path = tmp_path / "asts.json" + ast_path.write_bytes((FIXTURES / "solc_0_8_30.asts.json").read_bytes()) + + monkeypatch.chdir(project) + messages: list[str] = [] + detect_code_accesses( + lambda msg, level="INFO": messages.append(f"{level}: {msg}"), + ast_path, + tmp_path / "no_graph.json", # absent: exercises the manual chain-check fallback + Scope(project), + ) + + patch_file = project / CODE_ACCESS_PATCH_FILE + assert patch_file.exists(), messages + patches = json.loads(patch_file.read_text()) + assert patches, messages + + source_text = (project / source_name).read_text() + for patch in patches: + assert patch["file"] == source_name + original = source_text[patch["offset"] : patch["offset"] + patch["length"]] + assert original == patch["original"] + assert original.endswith(".code") + assert patch["replacement"] == f"certora_loadCode({original[: -len('.code')]})" + # .code.length accesses must have been skipped as chained + assert all(".code.length" not in p["original"] for p in patches) From de837815e81df8324ac6b7aaf8bc9a10c6e9411c Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 18:53:01 +0300 Subject: [PATCH 05/13] solidity_ast: __main__ demo summarizing a dump through the typed models Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/__main__.py | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 certora_autosetup/solidity_ast/__main__.py diff --git a/certora_autosetup/solidity_ast/__main__.py b/certora_autosetup/solidity_ast/__main__.py new file mode 100644 index 0000000..c4feaad --- /dev/null +++ b/certora_autosetup/solidity_ast/__main__.py @@ -0,0 +1,71 @@ +"""Summarize a ``.asts.json`` dump through the typed models. + +Usage:: + + python -m certora_autosetup.solidity_ast + +Prints, per source file: parse status, node counts, any unknown node types or +unmodeled fields, and the contracts with their resolved inheritance — a quick way +to see the typed models working against a real project's existing dump. +""" + +from __future__ import annotations + +import argparse +import sys +from collections import Counter + +from .base import UnknownNode +from .declarations import ContractDefinition +from .loader import AstDump +from .traversal import find_all, walk + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=(__doc__ or "").partition("\n")[0]) + parser.add_argument("dump", help="path to a .asts.json / all_asts.json file") + args = parser.parse_args(argv) + + dump = AstDump.load(args.dump) + n_sources = n_parsed = n_failed = 0 + for file_asts in dump.files.values(): + print(f"{file_asts.original_file}") + id_to_name = { + c.id: c.name + for source in file_asts.sources.values() + if source.root is not None + for c in find_all(source.root, ContractDefinition) + } + for source in file_asts.sources.values(): + n_sources += 1 + if source.root is None: + n_failed += source.raw_kind == "parse_failed" + detail = f": {source.parse_error}" if source.parse_error else "" + print(f" {source.source_path} [{source.raw_kind}]{detail}") + continue + n_parsed += 1 + nodes = list(walk(source.root)) + unknown = Counter(n.nodeType for n in nodes if isinstance(n, UnknownNode)) + extras = Counter( + f"{type(n).__name__}.{key}" for n in nodes for key in (n.model_extra or {}) + ) + print(f" {source.source_path} [ok] {len(nodes)} nodes, {len(source.nodes)} with ids") + if unknown: + print(f" unknown node types: {dict(unknown)}") + if extras: + print(f" unmodeled fields: {dict(extras)}") + for contract in find_all(source.root, ContractDefinition): + bases = [ + id_to_name.get(i, f"#{i}") + for i in contract.linearizedBaseContracts[1:] + ] + abstract = "abstract " if contract.abstract else "" + inherits = f" is {', '.join(bases)}" if bases else "" + print(f" {abstract}{contract.contractKind} {contract.name}{inherits}") + + print(f"\n{n_parsed}/{n_sources} sources parsed with the typed models") + return 0 if n_failed == 0 else 1 + + +if __name__ == "__main__": + sys.exit(main()) From 944742ba216045442df649d5172f2e1eadb4ec61 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 19:14:03 +0300 Subject: [PATCH 06/13] =?UTF-8?q?solidity=5Fast:=20harden=20coverage=20aft?= =?UTF-8?q?er=20review=20=E2=80=94=20raw=20sweep,=20open=20version=20enums?= =?UTF-8?q?,=20cached=20loads?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review findings addressed: iter_nodes_of_type gives typed-first iteration with a raw flat-map sweep for nodes the typed walk cannot reach (e.g. under an unknown future nodeType), used by both migrated consumers so no ContractDefinition or .code MemberAccess can be hidden; InlineAssembly.evmVersion/flags are open strings (a closed fork enum would demote whole files on the next solc release — conformance test carries the allowlisted deviation); .code patches now read and target the source file the offsets refer to (not the compilation unit's main file) and are deduplicated across units; the dump is loaded once per setup run via AstDump.load_cached; union tag sets got a drift-guard test. Co-Authored-By: Claude Fable 5 --- certora_autosetup/setup/auto_munges.py | 196 +++++++++--------- certora_autosetup/setup/setup_prover.py | 59 +++--- certora_autosetup/solidity_ast/__init__.py | 4 +- certora_autosetup/solidity_ast/loader.py | 51 ++++- certora_autosetup/solidity_ast/statements.py | 23 +- tests/solidity_ast/test_consumer_migration.py | 93 ++++++++- tests/solidity_ast/test_schema_conformance.py | 12 ++ tests/solidity_ast/test_unions.py | 47 +++++ 8 files changed, 339 insertions(+), 146 deletions(-) create mode 100644 tests/solidity_ast/test_unions.py diff --git a/certora_autosetup/setup/auto_munges.py b/certora_autosetup/setup/auto_munges.py index 3d07756..0bb36d1 100644 --- a/certora_autosetup/setup/auto_munges.py +++ b/certora_autosetup/setup/auto_munges.py @@ -12,9 +12,7 @@ from pathlib import Path from typing import Callable, Dict, Iterator, List, Tuple -from pydantic import ValidationError - -from certora_autosetup.solidity_ast import AstDump, MemberAccess, SourceAst, find_all, parse_src +from certora_autosetup.solidity_ast import AstDump, MemberAccess, SourceAst, iter_nodes_of_type, parse_src from certora_autosetup.utils.scope import Scope CODE_ACCESS_PATCH_FILE = ".certora_internal/code_access_patches.json" @@ -215,20 +213,34 @@ def _load_ast_parent_graph(graph_path: Path) -> Dict[str, Dict[str, Dict[str, st return {} -def _iter_member_accesses(source: SourceAst) -> Iterator[MemberAccess]: - """MemberAccess nodes of one source: from the typed tree when it parsed, and by - validating individual raw flat-map nodes when it did not (so a solc surprise - elsewhere in the file cannot hide a .code access). Vyper sources yield nothing. - """ - if source.root is not None: - yield from find_all(source.root, MemberAccess) - elif source.raw_kind == "parse_failed": - for node in source.raw.values(): - if isinstance(node, dict) and node.get("nodeType") == "MemberAccess": - try: - yield MemberAccess.model_validate(node) - except ValidationError: - continue +@dataclass(frozen=True) +class _CodeAccessCandidate: + """The load-bearing fields of a `.code` MemberAccess, whether it came from the + typed tree or from the raw flat-map sweep of nodes the models could not reach.""" + + node_id: str + src: str + expr_src: str + + +def _iter_code_accesses(source: SourceAst) -> Iterator[_CodeAccessCandidate]: + """`.code` MemberAccess candidates of one source, with exact-parity coverage: + typed nodes first, then raw flat-map nodes the typed walk did not reach (nested + under an unknown node type, or the whole source unparsable) — so a solc surprise + cannot hide a .code access. Vyper sources yield nothing.""" + for node in iter_nodes_of_type(source, MemberAccess): + if isinstance(node, MemberAccess): + if node.memberName == 'code': + yield _CodeAccessCandidate( + node_id=str(node.id), src=node.src, expr_src=node.expression.src + ) + elif node.get('memberName') == 'code': + expression = node.get('expression', {}) + yield _CodeAccessCandidate( + node_id=str(node.get('id')), + src=node.get('src', ''), + expr_src=expression.get('src', '') if isinstance(expression, dict) else '', + ) def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Path, scope: Scope) -> None: @@ -281,84 +293,80 @@ def detect_code_accesses(log_func: Callable, ast_path: Path, ast_graph_path: Pat if not scope.is_file_in_scope(rel_path_for_scope): continue + # The node's src offsets refer to THIS source file (not the unit's + # main file), so patches read and target it; the src file_id is not + # needed since the file is already known here. + patch_target = str(rel_path_for_scope) + # Find MemberAccess nodes with memberName="code" in this source - for node in _iter_member_accesses(source): - if node.memberName == 'code': - node_id = str(node.id) - - # Check if this .code access is used as expression in another node using parent graph - # If the parent graph exists, use it for O(1) lookup - if parent_graph: - parent_map = parent_graph.get(relative_path, {}).get(absolute_path, {}) - parent_id = parent_map.get(node_id) - - if parent_id: - # The raw flat map covers parsed and unparsed sources alike - parent_node = source.raw.get(parent_id, {}) - parent_type = parent_node.get('nodeType') - - # Skip if parent is MemberAccess (like .code.length) or FunctionCall (like x.code()) - if parent_type in ['MemberAccess', 'FunctionCall']: - continue - else: - # Fallback: check manually if graph not available - is_chained = False - for other_node in source.raw.values(): - if not isinstance(other_node, dict): - continue - - # Check if used in MemberAccess (like .code.length) or FunctionCall (like x.code()) - if other_node.get('nodeType') in ['MemberAccess', 'FunctionCall']: - expr = other_node.get('expression', {}) - if str(expr.get('id')) == node_id: - is_chained = True - break - - if is_chained: - continue # Skip this .code access, it's part of a chain or function call - - # Extract source location: "offset:length:file_id" (byte offsets) - if not node.src: - continue - - try: - offset, length, _ = node.src_location - except ValueError: - continue - - # Get the expression being accessed (e.g., "pointer" from "pointer.code"); - # an UnknownNode expression has src="" and is skipped below - expr_src = node.expression.src - if not expr_src: - continue - - try: - expr_offset, expr_length, _ = parse_src(expr_src) - except ValueError: - continue - - # Read the original expression from the source file - try: - with open(relative_path, 'r') as src_file: - src_content = src_file.read() - expr_text = src_content[expr_offset:expr_offset + expr_length] - original_text = src_content[offset:offset + length] - - # Create replacement: "certora_loadCode(expression)" - replacement = f"certora_loadCode({expr_text})" - - patches.append( - CodeAccessPatch( - file=relative_path, - offset=offset, - length=length, - original=original_text, - replacement=replacement, - ) - ) - - except Exception as e: - log_func(f"Warning: Failed to read source for patch at {relative_path}: {e}", "WARNING") + for candidate in _iter_code_accesses(source): + node_id = candidate.node_id + + # Check if this .code access is used as expression in another node using parent graph + # If the parent graph exists, use it for O(1) lookup + if parent_graph: + parent_map = parent_graph.get(relative_path, {}).get(absolute_path, {}) + parent_id = parent_map.get(node_id) + + if parent_id: + # The raw flat map covers parsed and unparsed sources alike + parent_node = source.raw.get(parent_id, {}) + parent_type = parent_node.get('nodeType') + + # Skip if parent is MemberAccess (like .code.length) or FunctionCall (like x.code()) + if parent_type in ['MemberAccess', 'FunctionCall']: + continue + else: + # Fallback: check manually if graph not available + is_chained = False + for other_node in source.raw.values(): + if not isinstance(other_node, dict): + continue + + # Check if used in MemberAccess (like .code.length) or FunctionCall (like x.code()) + if other_node.get('nodeType') in ['MemberAccess', 'FunctionCall']: + expr = other_node.get('expression', {}) + if str(expr.get('id')) == node_id: + is_chained = True + break + + if is_chained: + continue # Skip this .code access, it's part of a chain or function call + + # Extract source location: "offset:length:file_id" (byte offsets) + if not candidate.src or not candidate.expr_src: + continue + + try: + offset, length, _ = parse_src(candidate.src) + expr_offset, expr_length, _ = parse_src(candidate.expr_src) + except ValueError: + continue + + # Read the original expression from the source file + try: + with open(patch_target, 'r') as src_file: + src_content = src_file.read() + expr_text = src_content[expr_offset:expr_offset + expr_length] + original_text = src_content[offset:offset + length] + + # Create replacement: "certora_loadCode(expression)" + replacement = f"certora_loadCode({expr_text})" + + patch = CodeAccessPatch( + file=patch_target, + offset=offset, + length=length, + original=original_text, + replacement=replacement, + ) + # The same source can appear under several compilation + # units; apply must see each patch once + if patch not in patches: + patches.append(patch) + + except Exception as e: + log_func(f"Warning: Failed to read source for patch at {patch_target}: {e}", "WARNING") if not patches: log_func("✓ No .code accesses found") diff --git a/certora_autosetup/setup/setup_prover.py b/certora_autosetup/setup/setup_prover.py index eaacb33..4d7268e 100644 --- a/certora_autosetup/setup/setup_prover.py +++ b/certora_autosetup/setup/setup_prover.py @@ -30,7 +30,12 @@ from certora_autosetup.setup.signature_manager import SignatureManager from certora_autosetup.setup.signature_types import ContractInfo from certora_autosetup.setup.solidity_utils import extract_definitions_from_solidity -from certora_autosetup.solidity_ast import AstDump, ContractDefinition, build_parent_graph_json, find_all +from certora_autosetup.solidity_ast import ( + AstDump, + ContractDefinition, + build_parent_graph_json, + iter_nodes_of_type, +) from packaging.version import Version from certora_autosetup.utils.config_manager import convert_solc_version_to_certora_format from certora_autosetup.cache.cache_fs import cache_path, get_fs @@ -68,36 +73,32 @@ class _ContractDeclView: def _iter_contract_declarations(dump: AstDump) -> Iterator[_ContractDeclView]: - """Every contract declaration in an AST dump. - - Sources whose typed parse failed are scanned via their raw flat map so a solc - surprise cannot hide contracts from setup; Vyper sources contribute nothing - (they have no ContractDefinition nodes). - """ + """Every contract declaration in an AST dump: typed where the models parsed, + completed by a raw flat-map sweep for anything the typed walk could not reach + (a solc surprise cannot hide contracts from setup; Vyper sources contribute + nothing since they have no ContractDefinition nodes).""" for _, source in dump.iter_sources(): - if source.root is not None: - for contract in find_all(source.root, ContractDefinition): + for node in iter_nodes_of_type(source, ContractDefinition): + if isinstance(node, ContractDefinition): yield _ContractDeclView( source_path=source.source_path, - node_id=contract.id, - name=contract.name, - abstract=contract.abstract, - contract_kind=contract.contractKind, - linearized_base_ids=list(contract.linearizedBaseContracts), + node_id=node.id, + name=node.name, + abstract=node.abstract, + contract_kind=node.contractKind, + linearized_base_ids=list(node.linearizedBaseContracts), + ) + else: + yield _ContractDeclView( + source_path=source.source_path, + node_id=node.get("id"), + name=node.get("name") or "", + abstract=bool(node.get("abstract", False)), + contract_kind=node.get("contractKind", "contract"), + linearized_base_ids=[ + i for i in node.get("linearizedBaseContracts", []) if isinstance(i, int) + ], ) - elif source.raw_kind == "parse_failed": - for node in source.raw.values(): - if isinstance(node, dict) and node.get("nodeType") == "ContractDefinition": - yield _ContractDeclView( - source_path=source.source_path, - node_id=node.get("id"), - name=node.get("name") or "", - abstract=bool(node.get("abstract", False)), - contract_kind=node.get("contractKind", "contract"), - linearized_base_ids=[ - i for i in node.get("linearizedBaseContracts", []) if isinstance(i, int) - ], - ) class CompilationAnalysisError(Exception): @@ -769,7 +770,7 @@ def _build_declared_contracts_by_file(self) -> Dict[str, Set[str]]: ast_path = self._build_dir / FILE_BUILD_ASTS if self._build_dir else None if not ast_path or not ast_path.exists(): return {} - dump = AstDump.load(ast_path) + dump = AstDump.load_cached(ast_path) for decl in _iter_contract_declarations(dump): if decl.contract_kind != "interface" and decl.name: rel = self.scope.get_relative_path(Path(decl.source_path)) @@ -1181,7 +1182,7 @@ def _extract_inheritance_and_abstract_from_ast(self, ast_file_path: Optional[Pat return inheritance_info, abstract_contracts try: - dump = AstDump.load(ast_file_path) + dump = AstDump.load_cached(ast_file_path) self.log(f"Extracting inheritance info from {ast_file_path}") diff --git a/certora_autosetup/solidity_ast/__init__.py b/certora_autosetup/solidity_ast/__init__.py index 5ab0c77..86141dc 100644 --- a/certora_autosetup/solidity_ast/__init__.py +++ b/certora_autosetup/solidity_ast/__init__.py @@ -17,7 +17,7 @@ "AstNode", "SolcNode", "YulNode", "UnknownNode", "SrcLocation", "parse_src", "TypeDescriptions", "Visibility", "StateMutability", "Mutability", "StorageLocation", # loader - "AstDump", "FileAsts", "SourceAst", + "AstDump", "FileAsts", "SourceAst", "iter_nodes_of_type", # traversal "iter_children", "walk", "find_all", "build_node_index", "build_parent_map", "build_parent_graph_json", @@ -104,7 +104,7 @@ TupleExpression, UnaryOperation, ) -from .loader import AstDump, FileAsts, SourceAst +from .loader import AstDump, FileAsts, SourceAst, iter_nodes_of_type from .statements import ( Block, Break, diff --git a/certora_autosetup/solidity_ast/loader.py b/certora_autosetup/solidity_ast/loader.py index 415aa13..7c6571d 100644 --- a/certora_autosetup/solidity_ast/loader.py +++ b/certora_autosetup/solidity_ast/loader.py @@ -17,16 +17,18 @@ import json import logging +import os from dataclasses import dataclass, field +from functools import lru_cache from pathlib import Path -from typing import Any, Iterator, Literal +from typing import Any, Iterator, Literal, TypeVar, get_args from pydantic import ValidationError from . import unions as unions # import resolves forward refs and rebuilds the models from .base import AstNode from .declarations import SourceUnit -from .traversal import build_node_index +from .traversal import build_node_index, find_all logger = logging.getLogger(__name__) @@ -69,6 +71,15 @@ def load(cls, path: Path | str, *, on_error: OnError = "raw") -> "AstDump": with open(path, "r", encoding="utf-8") as f: return cls.from_dict(json.load(f), on_error=on_error) + @classmethod + def load_cached(cls, path: Path | str, *, on_error: OnError = "raw") -> "AstDump": + """``load()`` memoized on (resolved path, mtime, size) — a setup run reads the + same dump at several points. The returned instance is shared: treat it as + read-only. + """ + stat = os.stat(path) + return _load_cached(str(Path(path).resolve()), stat.st_mtime_ns, stat.st_size, on_error) + @classmethod def from_dict(cls, data: dict[str, Any], *, on_error: OnError = "raw") -> "AstDump": files = { @@ -103,10 +114,44 @@ def find_node(self, source_path: str, node_id: int) -> AstNode | None: return None +N = TypeVar("N", bound=AstNode) + + +def iter_nodes_of_type(source: SourceAst, model: type[N]) -> Iterator[N | dict[str, Any]]: + """All nodes of one concrete model type in a source: typed instances from the + parsed tree first, then the raw flat-map dicts of matching nodeType that the + typed walk did not reach (nested under an UnknownNode, or the whole source + unparsable). Gives exact-parity coverage with a raw flat-map scan while staying + typed wherever the models reached; callers must accept both shapes. + """ + (node_type,) = get_args(model.model_fields["nodeType"].annotation) + seen: set[int] = set() + if source.root is not None: + for node in find_all(source.root, model): + node_id = getattr(node, "id", None) # Yul models carry no id + if isinstance(node_id, int): + seen.add(node_id) + yield node + for raw_node in source.raw.values(): + if ( + isinstance(raw_node, dict) + and raw_node.get("nodeType") == node_type + and raw_node.get("id") not in seen + ): + yield raw_node + + +@lru_cache(maxsize=8) +def _load_cached(resolved_path: str, _mtime_ns: int, _size: int, on_error: OnError) -> AstDump: + return AstDump.load(resolved_path, on_error=on_error) + + def _load_source(source_path: str, flat: dict[str, Any], on_error: OnError) -> SourceAst: node_dicts = [n for n in flat.values() if isinstance(n, dict)] - if any("nodeType" not in n and ("ast_type" in n or "node_id" in n) for n in node_dicts): + has_solidity = any("nodeType" in n for n in node_dicts) + has_vyper = any("nodeType" not in n and ("ast_type" in n or "node_id" in n) for n in node_dicts) + if has_vyper and not has_solidity: return SourceAst(source_path=source_path, root=None, raw=flat, raw_kind="vyper") roots = [n for n in node_dicts if n.get("nodeType") == "SourceUnit"] diff --git a/certora_autosetup/solidity_ast/statements.py b/certora_autosetup/solidity_ast/statements.py index 0561426..4c3d1fc 100644 --- a/certora_autosetup/solidity_ast/statements.py +++ b/certora_autosetup/solidity_ast/statements.py @@ -89,24 +89,13 @@ class InlineAssembly(SolcNode): documentation: str | None = None AST: "YulBlock" - evmVersion: Literal[ - "homestead", - "tangerineWhistle", - "spuriousDragon", - "byzantium", - "constantinople", - "petersburg", - "istanbul", - "berlin", - "london", - "paris", - "shanghai", - "cancun", - "prague", - "osaka", - ] + # The schema enumerates the EVM fork names, but each new fork would make every + # assembly-containing source fail whole-file validation until the vendored + # schema catches up — deliberately open (allowlisted in the conformance test). + evmVersion: str externalReferences: list[ExternalReference] - flags: list[Literal["memory-safe"]] | None = None + # Same reasoning: new assembly flags arrive with new solc releases. + flags: list[str] | None = None nodeType: Literal["InlineAssembly"] diff --git a/tests/solidity_ast/test_consumer_migration.py b/tests/solidity_ast/test_consumer_migration.py index ae34528..b40195f 100644 --- a/tests/solidity_ast/test_consumer_migration.py +++ b/tests/solidity_ast/test_consumer_migration.py @@ -10,7 +10,11 @@ import pytest -from certora_autosetup.setup.auto_munges import CODE_ACCESS_PATCH_FILE, detect_code_accesses +from certora_autosetup.setup.auto_munges import ( + CODE_ACCESS_PATCH_FILE, + _iter_code_accesses, + detect_code_accesses, +) from certora_autosetup.setup.setup_prover import _iter_contract_declarations from certora_autosetup.solidity_ast import AstDump from certora_autosetup.utils.scope import Scope @@ -94,6 +98,93 @@ def test_declared_contracts_parity(fixture: str) -> None: assert actual == expected +def _code_access_ids(dump: AstDump) -> set[str]: + return { + c.node_id for _, source in dump.iter_sources() for c in _iter_code_accesses(source) + } + + +def test_code_access_survives_unknown_ancestor() -> None: + """A future-solc nodeType enclosing a .code access must not hide it: the typed + walk stops at the UnknownNode, and the raw flat-map sweep must pick it up.""" + raw = _load_raw("solc_0_8_30") + baseline = _code_access_ids(AstDump.from_dict(raw)) + assert baseline + + # Rename the nodeType of every enclosing statement of a .code access (its parent + # in the flat map heuristic: any node holding the access as a direct child). + mutated = json.loads(json.dumps(raw)) + for per_source in mutated.values(): + for nodes in per_source.values(): + access_ids = { + node["id"] + for node in nodes.values() + if isinstance(node, dict) + and node.get("nodeType") == "MemberAccess" + and node.get("memberName") == "code" + } + for node in nodes.values(): + if not isinstance(node, dict) or node.get("nodeType") == "MemberAccess": + continue + children = [ + v for v in node.values() if isinstance(v, dict) and "id" in v + ] + [ + item + for v in node.values() + if isinstance(v, list) + for item in v + if isinstance(item, dict) and "id" in item + ] + if any(c["id"] in access_ids for c in children): + node["nodeType"] = "SolcFutureStatement" + + mutated_dump = AstDump.from_dict(mutated) + assert all(s.is_parsed for _, s in mutated_dump.iter_sources()) + assert _code_access_ids(mutated_dump) == baseline + + +def test_patch_targets_the_containing_source_file(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: + """A .code access in an imported file compiled under another file's compilation + unit must be patched in the imported file, not the unit's main file.""" + project = tmp_path / "project" + project.mkdir() + lib_text = "address a; a.code;" # offsets below point into this text + (project / "lib.sol").write_text(lib_text) + (project / "main.sol").write_text("// no .code accesses here\n" * 4) + + code_off = lib_text.index("a.code") + member_access = { + "id": 7, + "src": f"{code_off}:6:1", + "nodeType": "MemberAccess", + "memberName": "code", + "expression": {"id": 6, "src": f"{code_off}:1:1", "nodeType": "Identifier", "name": "a"}, + } + source_unit = { + "id": 99, "src": "0:0:1", "nodeType": "SourceUnit", + "absolutePath": "lib.sol", "exportedSymbols": {}, "nodes": [], + } + dump = { + "main.sol": { + "main.sol": {"1": { + "id": 1, "src": "0:0:0", "nodeType": "SourceUnit", + "absolutePath": "main.sol", "exportedSymbols": {}, "nodes": [], + }}, + "lib.sol": {"99": source_unit, "7": member_access}, + } + } + ast_path = tmp_path / "asts.json" + ast_path.write_text(json.dumps(dump)) + + monkeypatch.chdir(project) + detect_code_accesses(lambda *a, **k: None, ast_path, tmp_path / "no_graph.json", Scope(project)) + + patches = json.loads((project / CODE_ACCESS_PATCH_FILE).read_text()) + assert [p["file"] for p in patches] == ["lib.sol"] + assert patches[0]["original"] == "a.code" + assert patches[0]["replacement"] == "certora_loadCode(a)" + + def test_detect_code_accesses_end_to_end(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: """Drive the migrated detect_code_accesses on the 0.8.30 fixture and check the patch file targets the exact `probe.code` byte range of the source.""" diff --git a/tests/solidity_ast/test_schema_conformance.py b/tests/solidity_ast/test_schema_conformance.py index 8377e39..b524906 100644 --- a/tests/solidity_ast/test_schema_conformance.py +++ b/tests/solidity_ast/test_schema_conformance.py @@ -358,6 +358,16 @@ def field_for(model: type, prop: str) -> Any: return None +# Fields deliberately WIDER than the schema: version-freshness enums (EVM fork names, +# assembly flags) whose closed transcription would demote every assembly-containing +# source to parse_failed on the first solc release the vendored schema lags behind. +# Presence/requiredness/nullability are still checked; only the enum shape is waived. +DELIBERATELY_OPEN = { + ("InlineAssembly", "evmVersion"), + ("InlineAssembly", "flags"), +} + + def check_property( model: type, prop: str, spec: dict[str, Any], required: bool, m: ModelInterface ) -> list[str]: @@ -392,6 +402,8 @@ def check_property( f"{where}: get_args(annotation) == {get_args(info.annotation)!r}, " f"expected ({shape.values[0]!r},)" ) + elif (model.__name__, prop) in DELIBERATELY_OPEN: + pass elif shape.kind != "null": # a pure-null property only constrains nullability errors += check_shape(shape, info.annotation, m, where) return errors diff --git a/tests/solidity_ast/test_unions.py b/tests/solidity_ast/test_unions.py new file mode 100644 index 0000000..bd127e3 --- /dev/null +++ b/tests/solidity_ast/test_unions.py @@ -0,0 +1,47 @@ +"""Drift guards for the hand-maintained union wiring in unions.py.""" + +from typing import get_args + +from pydantic import BaseModel + +from certora_autosetup.solidity_ast import unions +from certora_autosetup.solidity_ast.base import UNKNOWN_TAG, UnknownNode + +UNION_TO_TAGSET = { + "Expression": unions._EXPRESSION_TAGS, + "Statement": unions._STATEMENT_TAGS, + "TypeName": unions._TYPENAME_TAGS, + "SourceUnitNode": unions._SOURCEUNITNODE_TAGS, + "ContractBodyNode": unions._CONTRACTBODYNODE_TAGS, + "Node": unions._NODE_TAGS, +} + + +def _tags_of(alias: object) -> set[str]: + """The Tag names attached to a union alias's members (excluding the fallback).""" + union_type, _discriminator = get_args(alias) + tags = set() + for member in get_args(union_type): + _member_type, tag = get_args(member) + tags.add(tag.tag) + return tags - {UNKNOWN_TAG} + + +def test_union_tag_sets_match_members() -> None: + """A member whose tag is missing from the discriminator's frozenset would be + silently routed to UnknownNode — assert the hand-written sets cannot drift.""" + for name, tagset in UNION_TO_TAGSET.items(): + alias = getattr(unions, name) + assert _tags_of(alias) == set(tagset), name + + +def test_every_union_has_unknown_fallback() -> None: + for name in UNION_TO_TAGSET: + union_type, _ = get_args(getattr(unions, name)) + members = {get_args(m)[0] for m in get_args(union_type)} + assert UnknownNode in members, name + + +def test_registry_classes_are_models() -> None: + for def_name, cls in unions.MODEL_BY_SCHEMA_DEF.items(): + assert isinstance(cls, type) and issubclass(cls, BaseModel), def_name From 0a60413f63bbd6917c8233bf4a39f22fe03a9865 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 19:41:51 +0300 Subject: [PATCH 07/13] solidity_ast: round-trip fidelity diagnostics + --json validator mode roundtrip_diffs() compares a re-serialized typed tree against the exact source JSON (model_dump with exclude_unset; the internalFunctionIDs de-stamping is the one reversed normalization). Wired into the __main__ validator (with a --json machine mode for corpus sweeps) and pinned on the committed fixtures. Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/__main__.py | 131 ++++++++++++------ certora_autosetup/solidity_ast/diagnostics.py | 70 ++++++++++ tests/solidity_ast/test_roundtrip.py | 23 +++ 3 files changed, 185 insertions(+), 39 deletions(-) create mode 100644 certora_autosetup/solidity_ast/diagnostics.py create mode 100644 tests/solidity_ast/test_roundtrip.py diff --git a/certora_autosetup/solidity_ast/__main__.py b/certora_autosetup/solidity_ast/__main__.py index c4feaad..a1b244c 100644 --- a/certora_autosetup/solidity_ast/__main__.py +++ b/certora_autosetup/solidity_ast/__main__.py @@ -2,69 +2,122 @@ Usage:: - python -m certora_autosetup.solidity_ast + python -m certora_autosetup.solidity_ast [--json] -Prints, per source file: parse status, node counts, any unknown node types or -unmodeled fields, and the contracts with their resolved inheritance — a quick way -to see the typed models working against a real project's existing dump. +Per source file: parse status, node counts, unknown node types, unmodeled fields, +and round-trip fidelity (does the typed tree re-serialize to the exact source +JSON?) — a quick way to validate the models against a real project's dump. +``--json`` emits one machine-readable summary object instead of text. """ from __future__ import annotations import argparse +import json import sys from collections import Counter +from typing import Any from .base import UnknownNode from .declarations import ContractDefinition +from .diagnostics import roundtrip_diffs from .loader import AstDump from .traversal import find_all, walk +def _source_report(source_ast: Any) -> dict[str, Any]: + if source_ast.root is None: + return { + "status": source_ast.raw_kind, + "error": source_ast.parse_error, + "raw_nodes": len(source_ast.raw), + } + nodes = list(walk(source_ast.root)) + unknown = Counter(n.nodeType for n in nodes if isinstance(n, UnknownNode)) + extras = Counter( + f"{type(n).__name__}.{key}" for n in nodes for key in (n.model_extra or {}) + ) + diffs = roundtrip_diffs(source_ast) + return { + "status": "ok", + "nodes": len(nodes), + "indexed": len(source_ast.nodes), + "unknown_node_types": dict(unknown), + "unmodeled_fields": dict(extras), + "roundtrip_diffs": diffs, + } + + def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser(description=(__doc__ or "").partition("\n")[0]) parser.add_argument("dump", help="path to a .asts.json / all_asts.json file") + parser.add_argument("--json", action="store_true", help="machine-readable output") args = parser.parse_args(argv) dump = AstDump.load(args.dump) - n_sources = n_parsed = n_failed = 0 + report: dict[str, dict[str, Any]] = {} for file_asts in dump.files.values(): - print(f"{file_asts.original_file}") - id_to_name = { - c.id: c.name - for source in file_asts.sources.values() - if source.root is not None - for c in find_all(source.root, ContractDefinition) - } for source in file_asts.sources.values(): - n_sources += 1 - if source.root is None: - n_failed += source.raw_kind == "parse_failed" - detail = f": {source.parse_error}" if source.parse_error else "" - print(f" {source.source_path} [{source.raw_kind}]{detail}") - continue - n_parsed += 1 - nodes = list(walk(source.root)) - unknown = Counter(n.nodeType for n in nodes if isinstance(n, UnknownNode)) - extras = Counter( - f"{type(n).__name__}.{key}" for n in nodes for key in (n.model_extra or {}) + report.setdefault(file_asts.original_file, {})[source.source_path] = ( + _source_report(source) ) - print(f" {source.source_path} [ok] {len(nodes)} nodes, {len(source.nodes)} with ids") - if unknown: - print(f" unknown node types: {dict(unknown)}") - if extras: - print(f" unmodeled fields: {dict(extras)}") - for contract in find_all(source.root, ContractDefinition): - bases = [ - id_to_name.get(i, f"#{i}") - for i in contract.linearizedBaseContracts[1:] - ] - abstract = "abstract " if contract.abstract else "" - inherits = f" is {', '.join(bases)}" if bases else "" - print(f" {abstract}{contract.contractKind} {contract.name}{inherits}") - - print(f"\n{n_parsed}/{n_sources} sources parsed with the typed models") - return 0 if n_failed == 0 else 1 + + flat = [r for per_file in report.values() for r in per_file.values()] + ok = [r for r in flat if r["status"] == "ok"] + clean = [ + r + for r in ok + if not r["unknown_node_types"] and not r["unmodeled_fields"] and not r["roundtrip_diffs"] + ] + summary = { + "sources": len(flat), + "parsed": len(ok), + "vyper": sum(r["status"] == "vyper" for r in flat), + "parse_failed": sum(r["status"] == "parse_failed" for r in flat), + "fully_clean": len(clean), + } + + if args.json: + json.dump({"summary": summary, "files": report}, sys.stdout, indent=1) + print() + else: + for original_file, per_file in report.items(): + print(original_file) + for source_path, r in per_file.items(): + if r["status"] != "ok": + detail = f": {r['error']}" if r.get("error") else "" + print(f" {source_path} [{r['status']}]{detail}") + continue + print(f" {source_path} [ok] {r['nodes']} nodes, {r['indexed']} with ids") + if r["unknown_node_types"]: + print(f" unknown node types: {r['unknown_node_types']}") + if r["unmodeled_fields"]: + print(f" unmodeled fields: {r['unmodeled_fields']}") + if r["roundtrip_diffs"]: + print(f" roundtrip diffs ({len(r['roundtrip_diffs'])}):") + for d in r["roundtrip_diffs"][:10]: + print(f" {d}") + root = next( + s.root + for fa in dump.files.values() + for s in fa.sources.values() + if s.source_path == source_path and s.root is not None + ) + id_to_name = {c.id: c.name for c in find_all(root, ContractDefinition)} + for contract in find_all(root, ContractDefinition): + bases = [ + id_to_name.get(i, f"#{i}") for i in contract.linearizedBaseContracts[1:] + ] + abstract = "abstract " if contract.abstract else "" + inherits = f" is {', '.join(bases)}" if bases else "" + print(f" {abstract}{contract.contractKind} {contract.name}{inherits}") + print( + f"\n{summary['parsed']}/{summary['sources']} sources parsed, " + f"{summary['fully_clean']} fully clean (no unknowns, no unmodeled fields, " + f"round-trip exact); vyper: {summary['vyper']}, failed: {summary['parse_failed']}" + ) + + return 0 if summary["parse_failed"] == 0 else 1 if __name__ == "__main__": diff --git a/certora_autosetup/solidity_ast/diagnostics.py b/certora_autosetup/solidity_ast/diagnostics.py new file mode 100644 index 0000000..6bd3a1b --- /dev/null +++ b/certora_autosetup/solidity_ast/diagnostics.py @@ -0,0 +1,70 @@ +"""Fidelity diagnostics: does a typed tree serialize back to the exact source JSON? + +Used by the round-trip tests and by ``python -m certora_autosetup.solidity_ast`` to +validate the models against real dumps at scale. +""" + +from __future__ import annotations + +from typing import Any + +from .loader import SourceAst + + +def roundtrip_diffs(source: SourceAst, limit: int = 50) -> list[str]: + """Structural differences between ``source.root`` re-serialized and the raw + SourceUnit JSON it was parsed from (empty list == byte-loyal modulo key order). + + ``model_dump(exclude_unset=True)`` keeps exactly the fields present in the input + (absent optional fields stay absent, explicit nulls stay null, unknown fields ride + along in ``model_extra``). The one deliberate normalization is reversed before + comparing: the certoraRun contract-name stamp that lands inside the plain + ``internalFunctionIDs`` map is dropped by the model, so it is dropped from the + raw side too. + """ + if source.root is None: + return [] + raw_root = next( + n + for n in source.raw.values() + if isinstance(n, dict) and n.get("nodeType") == "SourceUnit" + ) + dumped = source.root.model_dump(mode="json", by_alias=True, exclude_unset=True) + expected = _drop_internal_function_id_stamp(raw_root) + diffs: list[str] = [] + _diff(dumped, expected, "", diffs, limit) + return diffs + + +def _drop_internal_function_id_stamp(node: Any) -> Any: + if isinstance(node, dict): + out = {} + for key, value in node.items(): + if key == "internalFunctionIDs" and isinstance(value, dict): + value = {k: v for k, v in value.items() if k != "certora_contract_name"} + out[key] = _drop_internal_function_id_stamp(value) + return out + if isinstance(node, list): + return [_drop_internal_function_id_stamp(item) for item in node] + return node + + +def _diff(dumped: Any, original: Any, path: str, out: list[str], limit: int) -> None: + if len(out) >= limit: + return + if isinstance(dumped, dict) and isinstance(original, dict): + for key in sorted(dumped.keys() | original.keys()): + if key not in original: + out.append(f"{path}.{key}: only in re-serialized output") + elif key not in dumped: + out.append(f"{path}.{key}: lost from the original") + else: + _diff(dumped[key], original[key], f"{path}.{key}", out, limit) + elif isinstance(dumped, list) and isinstance(original, list): + if len(dumped) != len(original): + out.append(f"{path}: list length {len(dumped)} != {len(original)}") + else: + for i, (d, o) in enumerate(zip(dumped, original)): + _diff(d, o, f"{path}[{i}]", out, limit) + elif dumped != original: + out.append(f"{path}: {dumped!r} != {original!r}") diff --git a/tests/solidity_ast/test_roundtrip.py b/tests/solidity_ast/test_roundtrip.py new file mode 100644 index 0000000..f552dc4 --- /dev/null +++ b/tests/solidity_ast/test_roundtrip.py @@ -0,0 +1,23 @@ +"""Round-trip fidelity: parsing a dump and re-serializing must reproduce the source +JSON exactly (modulo the reversed contract-name stamp inside internalFunctionIDs).""" + +from pathlib import Path + +import pytest + +from certora_autosetup.solidity_ast import AstDump +from certora_autosetup.solidity_ast.diagnostics import roundtrip_diffs + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" + + +@pytest.mark.parametrize( + "fixture", ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30", "vyper_mixed"] +) +def test_roundtrip_is_loyal(fixture: str) -> None: + dump = AstDump.load(FIXTURES / f"{fixture}.asts.json", on_error="raise") + for _, source in dump.iter_sources(): + if source.root is None: + continue + diffs = roundtrip_diffs(source) + assert not diffs, f"{fixture}/{source.source_path}:\n" + "\n".join(diffs[:20]) From 5a0a1f0ab8a626b58f6bd7b0f0472946e0185315 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Wed, 15 Jul 2026 22:25:28 +0300 Subject: [PATCH 08/13] solidity_ast: typed parsing for solc 0.4/0.5 dumps + legacy fixtures Corpus-driven: real certoraRun fixtures for solc 0.4.26 and 0.5.17 exposed the full legacy dialect, now handled typed (no raw-dict fallback): lenient defaults for fields that did not exist yet (mutability, virtual, tryCall, kind, abstract), string-form documentation and ElementaryTypeNameExpression.typeName, the pre-0.6 InlineAssembly shape (operations text, keyed externalReferences, no Yul AST), file-level EventDefinition (solc >= 0.8.22, missing from the vendored schema), and modeled 0.4-era FunctionDefinition flags. Every deviation from the schema is machine-tracked in the conformance test (LENIENT_REQUIRED / DELIBERATELY_OPEN / FIELD_ALLOWLIST). All five fixtures hold the same strict invariants: fully typed parse, zero unknown nodes, zero unmodeled fields, exact round-trip. Co-Authored-By: Claude Fable 5 --- .../solidity_ast/declarations.py | 34 +- certora_autosetup/solidity_ast/expressions.py | 6 +- certora_autosetup/solidity_ast/statements.py | 19 +- certora_autosetup/solidity_ast/unions.py | 6 +- .../solidity_ast/contracts/breadth_04.sol | 111 + .../solidity_ast/contracts/breadth_05.sol | 128 + .../solidity_ast/generate_fixtures.py | 14 +- .../solidity_ast/solc_0_4_26.asts.json | 24317 +++++++++++++++ .../solidity_ast/solc_0_5_17.asts.json | 25722 ++++++++++++++++ tests/solidity_ast/test_consumer_migration.py | 2 +- tests/solidity_ast/test_fixture_parsing.py | 26 +- tests/solidity_ast/test_lenient_parsing.py | 42 + tests/solidity_ast/test_roundtrip.py | 3 +- tests/solidity_ast/test_schema_conformance.py | 71 +- 14 files changed, 50463 insertions(+), 38 deletions(-) create mode 100644 tests/fixtures/solidity_ast/contracts/breadth_04.sol create mode 100644 tests/fixtures/solidity_ast/contracts/breadth_05.sol create mode 100644 tests/fixtures/solidity_ast/solc_0_4_26.asts.json create mode 100644 tests/fixtures/solidity_ast/solc_0_5_17.asts.json create mode 100644 tests/solidity_ast/test_lenient_parsing.py diff --git a/certora_autosetup/solidity_ast/declarations.py b/certora_autosetup/solidity_ast/declarations.py index a6c0ada..f6efe98 100644 --- a/certora_autosetup/solidity_ast/declarations.py +++ b/certora_autosetup/solidity_ast/declarations.py @@ -50,7 +50,8 @@ class VariableDeclaration(SolcNode): documentation: StructuredDocumentation | None = None functionSelector: str | None = None indexed: bool | None = None - mutability: Mutability + # Absent pre-0.6.6 (only `constant` existed); LENIENT_REQUIRED. + mutability: Mutability | None = None overrides: OverrideSpecifier | None = None scope: int stateVariable: bool @@ -107,7 +108,7 @@ class EventDefinition(SolcNode): nameLocation: str | None = None anonymous: bool eventSelector: str | None = None - documentation: StructuredDocumentation | None = None + documentation: "StructuredDocumentation | str | None" = None parameters: ParameterList nodeType: Literal["EventDefinition"] @@ -128,10 +129,11 @@ class ModifierDefinition(SolcNode): nameLocation: str | None = None baseModifiers: list[int] | None = None body: "Block | None" = None - documentation: StructuredDocumentation | None = None + documentation: "StructuredDocumentation | str | None" = None overrides: OverrideSpecifier | None = None parameters: ParameterList - virtual: bool + # `virtual` only exists from solc 0.6; LENIENT_REQUIRED. + virtual: bool = False visibility: Visibility nodeType: Literal["ModifierDefinition"] @@ -143,18 +145,27 @@ class FunctionDefinition(SolcNode): nameLocation: str | None = None baseFunctions: list[int] | None = None body: "Block | None" = None - documentation: StructuredDocumentation | None = None + documentation: "StructuredDocumentation | str | None" = None functionSelector: str | None = None implemented: bool - kind: Literal["function", "receive", "constructor", "fallback", "freeFunction"] + # Absent pre-0.5 (solc 0.4 marks constructors via `isConstructor`); LENIENT_REQUIRED. + kind: Literal["function", "receive", "constructor", "fallback", "freeFunction"] | None = None modifiers: list[ModifierInvocation] overrides: OverrideSpecifier | None = None parameters: ParameterList returnParameters: ParameterList scope: int stateMutability: StateMutability - virtual: bool + # `virtual` only exists from solc 0.6; LENIENT_REQUIRED. + virtual: bool = False visibility: Visibility + # Legacy-only fields, not in the schema (FIELD_ALLOWLIST): solc 0.4 flags in + # place of `kind`/`stateMutability`, and the 0.4/0.5 predecessor of + # `baseFunctions`. + isConstructor: bool | None = None + isDeclaredConst: bool | None = None + payable: bool | None = None + superFunction: int | None = None nodeType: Literal["FunctionDefinition"] @@ -260,12 +271,17 @@ class ContractDefinition(SolcNode): name: str nameLocation: str | None = None - abstract: bool + # Schema-required, but the concept only exists from solc 0.6 — a default keeps + # below-floor (0.5.x) sources parseable (lenient-older policy; conformance + # deviation LENIENT_REQUIRED). + abstract: bool = False baseContracts: list[InheritanceSpecifier] canonicalName: str | None = None contractDependencies: list[int] contractKind: Literal["contract", "interface", "library"] - documentation: StructuredDocumentation | None = None + # NatSpec is a plain string in dumps from solc <= 0.5 (node form from 0.6); + # same widening on Function/Modifier/EventDefinition. DELIBERATELY_OPEN. + documentation: "StructuredDocumentation | str | None" = None fullyImplemented: bool linearizedBaseContracts: list[int] nodes: list["ContractBodyNode"] diff --git a/certora_autosetup/solidity_ast/expressions.py b/certora_autosetup/solidity_ast/expressions.py index 8fe1b6d..219f6b3 100644 --- a/certora_autosetup/solidity_ast/expressions.py +++ b/certora_autosetup/solidity_ast/expressions.py @@ -70,7 +70,8 @@ class ElementaryTypeNameExpression(SolcNode): isPure: bool lValueRequested: bool typeDescriptions: TypeDescriptions - typeName: "ElementaryTypeName" + # A plain string ("uint256") in dumps from solc <= 0.5; DELIBERATELY_OPEN. + typeName: "ElementaryTypeName | str" nodeType: typing.Literal["ElementaryTypeNameExpression"] @@ -88,7 +89,8 @@ class FunctionCall(SolcNode): kind: typing.Literal["functionCall", "typeConversion", "structConstructorCall"] names: list[str] nameLocations: list[str] | None = None - tryCall: bool + # try/catch only exists from solc 0.6; LENIENT_REQUIRED. + tryCall: bool = False nodeType: typing.Literal["FunctionCall"] diff --git a/certora_autosetup/solidity_ast/statements.py b/certora_autosetup/solidity_ast/statements.py index 4c3d1fc..e7983e7 100644 --- a/certora_autosetup/solidity_ast/statements.py +++ b/certora_autosetup/solidity_ast/statements.py @@ -85,17 +85,23 @@ class ExternalReference(BaseModel): class InlineAssembly(SolcNode): - """An ``assembly { ... }`` block; its Yul body lives under the ``AST`` field.""" + """An ``assembly { ... }`` block; its Yul body lives under the ``AST`` field. + + Dumps from solc <= 0.5 use a different dialect: no ``AST``/``evmVersion``, the + assembly source text in ``operations``, and ``externalReferences`` items keyed + by identifier name (LENIENT_REQUIRED / DELIBERATELY_OPEN deviations). + """ documentation: str | None = None - AST: "YulBlock" + AST: "YulBlock | None" = None # The schema enumerates the EVM fork names, but each new fork would make every # assembly-containing source fail whole-file validation until the vendored # schema catches up — deliberately open (allowlisted in the conformance test). - evmVersion: str - externalReferences: list[ExternalReference] + evmVersion: str | None = None + externalReferences: list[ExternalReference | dict[str, ExternalReference]] # Same reasoning: new assembly flags arrive with new solc releases. flags: list[str] | None = None + operations: str | None = None nodeType: Literal["InlineAssembly"] @@ -109,7 +115,10 @@ class PlaceholderStatement(SolcNode): class Return(SolcNode): documentation: str | None = None expression: "Expression | None" = None - functionReturnParameters: int + # Schema-required, but solc omits it for `return;` inside a modifier body (no + # function to return to) — seen in the wild on solc 0.8.x (conformance + # deviation LENIENT_REQUIRED). + functionReturnParameters: int | None = None nodeType: Literal["Return"] diff --git a/certora_autosetup/solidity_ast/unions.py b/certora_autosetup/solidity_ast/unions.py index b8c0e2a..deff4b0 100644 --- a/certora_autosetup/solidity_ast/unions.py +++ b/certora_autosetup/solidity_ast/unions.py @@ -169,13 +169,17 @@ ] """Any type-name node (or UnknownNode).""" -_SOURCEUNITNODE_TAGS = frozenset({"ContractDefinition", "EnumDefinition", "ErrorDefinition", "FunctionDefinition", "ImportDirective", "PragmaDirective", "StructDefinition", "UserDefinedValueTypeDefinition", "UsingForDirective", "VariableDeclaration"}) +# EventDefinition is absent from the vendored schema's SourceUnit.nodes union, but +# solc >= 0.8.22 allows file-level events (seen in the wild; conformance deviation +# DELIBERATELY_OPEN on SourceUnit.nodes). +_SOURCEUNITNODE_TAGS = frozenset({"ContractDefinition", "EnumDefinition", "ErrorDefinition", "EventDefinition", "FunctionDefinition", "ImportDirective", "PragmaDirective", "StructDefinition", "UserDefinedValueTypeDefinition", "UsingForDirective", "VariableDeclaration"}) SourceUnitNode = Annotated[ Union[ Annotated[ContractDefinition, Tag("ContractDefinition")], Annotated[EnumDefinition, Tag("EnumDefinition")], Annotated[ErrorDefinition, Tag("ErrorDefinition")], + Annotated[EventDefinition, Tag("EventDefinition")], Annotated[FunctionDefinition, Tag("FunctionDefinition")], Annotated[ImportDirective, Tag("ImportDirective")], Annotated[PragmaDirective, Tag("PragmaDirective")], diff --git a/tests/fixtures/solidity_ast/contracts/breadth_04.sol b/tests/fixtures/solidity_ast/contracts/breadth_04.sol new file mode 100644 index 0000000..355cfa1 --- /dev/null +++ b/tests/fixtures/solidity_ast/contracts/breadth_04.sol @@ -0,0 +1,111 @@ +pragma solidity ^0.4.24; + +/// @title 0.4-era interface +interface IToken { + function totalSupply() external view returns (uint256); +} + +library MathLib { + function add(uint256 a, uint256 b) internal pure returns (uint256) { + return a + b; + } +} + +/// @notice Contract-level NatSpec in the 0.4 dialect +contract Base { + /// @dev state docs + uint256 public stored; + uint256 public constant LIMIT = 100; + address internal owner; + + event Stored(address indexed who, uint256 value); + + /// @param initial the seed value + constructor(uint256 initial) internal { + stored = initial; + owner = msg.sender; + } + + modifier onlyOwner() { + require(msg.sender == owner, "not owner"); + _; + } + + function touch() public returns (uint256); +} + +contract Left is Base { + constructor() public Base(1) {} + + function touch() public returns (uint256) { + return stored + 1; + } +} + +contract Middle is Base { + struct Slot { + uint128 lo; + uint128 hi; + } + enum Phase {Idle, Live, Dead} + + mapping(address => Slot) internal slots; + Phase public phase; + uint256[] public series; + + constructor() public Base(2) {} + + /// @notice function NatSpec, 0.4 string form + function touch() public returns (uint256) { + Slot memory s = slots[msg.sender]; + uint256 acc = uint256(s.lo) + uint256(s.hi); + for (uint256 i = 0; i < 3; i++) { + if (i == 1) { + continue; + } + acc = MathLib.add(acc, i); + } + uint256 j = 0; + while (j < 2) { + j++; + } + do { + j--; + } while (j > 0); + acc = phase == Phase.Live ? acc * 2 : acc; + delete slots[msg.sender]; + emit Stored(msg.sender, acc); + return acc; + } + + function probe(address target) public view returns (uint256 size, bytes32 head) { + assembly { + size := extcodesize(target) + let buf := mload(0x40) + switch size + case 0 { + head := 0 + } + default { + extcodecopy(target, buf, 0, 32) + head := mload(buf) + } + } + } +} + +contract Diamond is IToken, Left { + uint256 private supply; + + constructor() public { + supply = (new uint256[](1)).length; + bytes memory blob = abi.encodePacked(uint16(7), address(this)); + supply += blob.length + address(this).balance; + } + + function totalSupply() external view returns (uint256) { + return supply; + } + + function() external payable {} +} diff --git a/tests/fixtures/solidity_ast/contracts/breadth_05.sol b/tests/fixtures/solidity_ast/contracts/breadth_05.sol new file mode 100644 index 0000000..5c21c74 --- /dev/null +++ b/tests/fixtures/solidity_ast/contracts/breadth_05.sol @@ -0,0 +1,128 @@ +pragma solidity ^0.5.17; +pragma experimental ABIEncoderV2; + +/// @title Interface exercising 0.5-era AST shapes +interface IToken { + function totalSupply() external view returns (uint256); +} + +library MathLib { + function add(uint256 a, uint256 b) internal pure returns (uint256) { + return a + b; + } +} + +/// @notice Contract-level NatSpec: plain-string `documentation` in 0.5 dumps +contract Base { + /// @dev state docs + uint256 public stored; + uint256 public constant LIMIT = 100; + address internal owner; + + event Stored(address indexed who, uint256 value); + + /// @param initial the seed value + constructor(uint256 initial) internal { + stored = initial; + owner = msg.sender; + } + + modifier onlyOwner() { + require(msg.sender == owner, "not owner"); + _; + } + + function touch() public returns (uint256); + + modifier virtualish() { + _; + } +} + +contract Left is Base { + constructor() public Base(1) {} + + function touch() public virtualish returns (uint256) { + return stored + 1; + } +} + +contract Middle is Base { + struct Slot { + uint128 lo; + uint128 hi; + } + enum Phase {Idle, Live, Dead} + + mapping(address => Slot) internal slots; + Phase public phase; + uint256[] public series; + + constructor() public Base(2) {} + + /// @notice function NatSpec, 0.5 string form + function touch() public virtualish returns (uint256) { + Slot memory s = slots[msg.sender]; + (uint128 lo, uint128 hi) = (s.lo, s.hi); + uint256 acc = uint256(lo) + uint256(hi); + for (uint256 i = 0; i < 3; i++) { + if (i == 1) { + continue; + } + acc = MathLib.add(acc, i); + } + uint256 j = 0; + while (j < 2) { + j++; + } + do { + j--; + } while (j > 0); + acc = phase == Phase.Live ? acc * 2 : acc; + delete slots[msg.sender]; + emit Stored(msg.sender, acc); + return acc; + } + + function probe(address target) public view returns (uint256 size, bytes32 head) { + assembly { + size := extcodesize(target) + let buf := mload(0x40) + switch size + case 0 { + head := 0 + } + default { + extcodecopy(target, buf, 0, 32) + head := mload(buf) + } + for {let i := 0} lt(i, 2) {i := add(i, 1)} { + pop(add(i, 1)) + } + function double(x) -> y { + y := mul(x, 2) + } + pop(double(3)) + } + } +} + +contract Diamond is IToken, Left { + uint256 private supply; + + constructor() public { + supply = (new uint256[](1)).length; + transformCheck(); + } + + function totalSupply() external view returns (uint256) { + return supply; + } + + function transformCheck() internal { + bytes memory blob = abi.encodePacked(uint16(7), address(this)); + supply = blob.length + address(this).balance; + } + + function() external payable {} +} diff --git a/tests/fixtures/solidity_ast/generate_fixtures.py b/tests/fixtures/solidity_ast/generate_fixtures.py index 87fa5be..231f9e1 100644 --- a/tests/fixtures/solidity_ast/generate_fixtures.py +++ b/tests/fixtures/solidity_ast/generate_fixtures.py @@ -55,6 +55,8 @@ # (solc version, contract file, main contract) — breadth_06.sol is shared by # 0.6 and 0.7 (pragma >=0.6.12 <0.8.0). PAIRS: list[tuple[str, str, str]] = [ + ("0.4.26", "breadth_04.sol", "Diamond"), + ("0.5.17", "breadth_05.sol", "Diamond"), ("0.6.12", "breadth_06.sol", "Diamond"), ("0.7.6", "breadth_06.sol", "Diamond"), ("0.8.30", "breadth_08.sol", "Diamond"), @@ -155,8 +157,10 @@ def run_certora_dump( return json.load(f) -def generate_fixtures(certora_run: str, solc_dir: Path | None) -> None: +def generate_fixtures(certora_run: str, solc_dir: Path | None, only: list[str] | None = None) -> None: for version, contract_file, main_contract in PAIRS: + if only and version not in only: + continue solc_path = find_solc(version, solc_dir) raw = run_certora_dump(certora_run, contract_file, main_contract, solc_path) sanitized = sanitize(raw) @@ -250,12 +254,18 @@ def main() -> int: help="directory containing solc- binaries (checked before PATH " "and ~/.solc-select/artifacts)", ) + parser.add_argument( + "--only", + nargs="*", + default=None, + help="regenerate only these solc versions (default: all PAIRS)", + ) args = parser.parse_args() if args.golden: generate_golden() else: - generate_fixtures(args.certora_run, args.solc_dir) + generate_fixtures(args.certora_run, args.solc_dir, args.only) return 0 diff --git a/tests/fixtures/solidity_ast/solc_0_4_26.asts.json b/tests/fixtures/solidity_ast/solc_0_4_26.asts.json new file mode 100644 index 0000000..4bec923 --- /dev/null +++ b/tests/fixtures/solidity_ast/solc_0_4_26.asts.json @@ -0,0 +1,24317 @@ +{ + "breadth_04.sol": { + "breadth_04.sol": { + "1": { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + "2": { + "certora_contract_name": "IToken", + "id": 2, + "nodeType": "ParameterList", + "parameters": [], + "src": "98:2:0" + }, + "3": { + "certora_contract_name": "IToken", + "id": 3, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "124:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "4": { + "certora_contract_name": "IToken", + "constant": false, + "id": 4, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "124:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 3, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "124:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "5": { + "certora_contract_name": "IToken", + "id": 5, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 4, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "124:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 3, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "124:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "123:9:0" + }, + "6": { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "id": 6, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 2, + "nodeType": "ParameterList", + "parameters": [], + "src": "98:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 5, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 4, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "124:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 3, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "124:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "123:9:0" + }, + "scope": 7, + "src": "78:55:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + "7": { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title 0.4-era interface", + "fullyImplemented": false, + "id": 7, + "linearizedBaseContracts": [ + 7 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "id": 6, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 2, + "nodeType": "ParameterList", + "parameters": [], + "src": "98:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 5, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 4, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "124:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 3, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "124:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "123:9:0" + }, + "scope": 7, + "src": "78:55:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 280, + "src": "55:80:0" + }, + "8": { + "certora_contract_name": "MathLib", + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "172:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "9": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 9, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "172:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "172:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "10": { + "certora_contract_name": "MathLib", + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "11": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 11, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "183:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "12": { + "certora_contract_name": "MathLib", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 9, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "172:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "172:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 11, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "183:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "171:22:0" + }, + "13": { + "certora_contract_name": "MathLib", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "14": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 14, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "217:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "15": { + "certora_contract_name": "MathLib", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 14, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "217:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "216:9:0" + }, + "16": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "17": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "18": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "243:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "19": { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "243:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 15, + "id": 19, + "nodeType": "Return", + "src": "236:12:0" + }, + "20": { + "certora_contract_name": "MathLib", + "id": 20, + "nodeType": "Block", + "src": "226:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "243:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 15, + "id": 19, + "nodeType": "Return", + "src": "236:12:0" + } + ] + }, + "21": { + "body": { + "certora_contract_name": "MathLib", + "id": 20, + "nodeType": "Block", + "src": "226:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "243:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 15, + "id": 19, + "nodeType": "Return", + "src": "236:12:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 21, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 9, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "172:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "172:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 11, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "183:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "171:22:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 14, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "217:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "216:9:0" + }, + "scope": 22, + "src": "159:96:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "22": { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 22, + "linearizedBaseContracts": [ + 22 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 20, + "nodeType": "Block", + "src": "226:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "243:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 15, + "id": 19, + "nodeType": "Return", + "src": "236:12:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 21, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 9, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "172:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "172:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 11, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "183:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "171:22:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 14, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "217:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "216:9:0" + }, + "scope": 22, + "src": "159:96:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 280, + "src": "137:120:0" + }, + "23": { + "certora_contract_name": "Base", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "357:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "24": { + "certora_contract_name": "Base", + "constant": false, + "id": 24, + "name": "stored", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "357:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "357:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + "25": { + "certora_contract_name": "Base", + "id": 25, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "384:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "26": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "416:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "27": { + "certora_contract_name": "Base", + "constant": true, + "id": 27, + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "384:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 25, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "384:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "416:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + "28": { + "certora_contract_name": "Base", + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "29": { + "certora_contract_name": "Base", + "constant": false, + "id": 29, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "425:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "30": { + "certora_contract_name": "Base", + "id": 30, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "31": { + "certora_contract_name": "Base", + "constant": false, + "id": 31, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "467:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 30, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "32": { + "certora_contract_name": "Base", + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "33": { + "certora_contract_name": "Base", + "constant": false, + "id": 33, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "488:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "34": { + "certora_contract_name": "Base", + "id": 34, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 31, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "467:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 30, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 33, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "488:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:36:0" + }, + "35": { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 35, + "name": "Stored", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 34, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 31, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "467:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 30, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 33, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "488:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:36:0" + }, + "src": "454:49:0" + }, + "36": { + "certora_contract_name": "Base", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "559:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "37": { + "certora_contract_name": "Base", + "constant": false, + "id": 37, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "559:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "559:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "38": { + "certora_contract_name": "Base", + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 37, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "559:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "559:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "558:17:0" + }, + "39": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [], + "src": "585:0:0" + }, + "40": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "41": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "42": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "595:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "43": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "595:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "595:16:0" + }, + "44": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "45": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "46": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "47": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "621:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "48": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "621:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "621:18:0" + }, + "49": { + "certora_contract_name": "Base", + "id": 49, + "nodeType": "Block", + "src": "585:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "595:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "595:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "621:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "621:18:0" + } + ] + }, + "50": { + "body": { + "certora_contract_name": "Base", + "id": 49, + "nodeType": "Block", + "src": "585:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "595:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "595:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "621:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "621:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": "@param initial the seed value", + "id": 50, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 37, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "559:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "559:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "558:17:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [], + "src": "585:0:0" + }, + "scope": 68, + "src": "547:99:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "51": { + "certora_contract_name": "Base", + "id": 51, + "nodeType": "ParameterList", + "parameters": [], + "src": "670:2:0" + }, + "52": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "53": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "54": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "55": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "56": { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "57": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + }, + "58": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "683:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "59": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "683:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 59, + "nodeType": "ExpressionStatement", + "src": "683:41:0" + }, + "60": { + "certora_contract_name": "Base", + "id": 60, + "nodeType": "PlaceholderStatement", + "src": "734:1:0" + }, + "61": { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "Block", + "src": "673:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "683:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 59, + "nodeType": "ExpressionStatement", + "src": "683:41:0" + }, + { + "certora_contract_name": "Base", + "id": 60, + "nodeType": "PlaceholderStatement", + "src": "734:1:0" + } + ] + }, + "62": { + "body": { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "Block", + "src": "673:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "683:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 59, + "nodeType": "ExpressionStatement", + "src": "683:41:0" + }, + { + "certora_contract_name": "Base", + "id": 60, + "nodeType": "PlaceholderStatement", + "src": "734:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 62, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 51, + "nodeType": "ParameterList", + "parameters": [], + "src": "670:2:0" + }, + "src": "652:90:0", + "visibility": "internal" + }, + "63": { + "certora_contract_name": "Base", + "id": 63, + "nodeType": "ParameterList", + "parameters": [], + "src": "762:2:0" + }, + "64": { + "certora_contract_name": "Base", + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "781:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "65": { + "certora_contract_name": "Base", + "constant": false, + "id": 65, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "781:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "781:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "66": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 65, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "781:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "781:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "780:9:0" + }, + "67": { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "id": 67, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 63, + "nodeType": "ParameterList", + "parameters": [], + "src": "762:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 65, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "781:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "781:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "780:9:0" + }, + "scope": 68, + "src": "748:42:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "68": { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@notice Contract-level NatSpec in the 0.4 dialect", + "fullyImplemented": false, + "id": 68, + "linearizedBaseContracts": [ + 68 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 24, + "name": "stored", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "357:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "357:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "id": 27, + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "384:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 25, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "384:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "416:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 29, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "425:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 35, + "name": "Stored", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 34, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 31, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "467:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 30, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 33, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "488:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:36:0" + }, + "src": "454:49:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 49, + "nodeType": "Block", + "src": "585:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "595:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "595:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "621:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "621:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": "@param initial the seed value", + "id": 50, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 37, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "559:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "559:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "558:17:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [], + "src": "585:0:0" + }, + "scope": 68, + "src": "547:99:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "Block", + "src": "673:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "683:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 59, + "nodeType": "ExpressionStatement", + "src": "683:41:0" + }, + { + "certora_contract_name": "Base", + "id": 60, + "nodeType": "PlaceholderStatement", + "src": "734:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 62, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 51, + "nodeType": "ParameterList", + "parameters": [], + "src": "670:2:0" + }, + "src": "652:90:0", + "visibility": "internal" + }, + { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "id": 67, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 63, + "nodeType": "ParameterList", + "parameters": [], + "src": "762:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 65, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "781:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "781:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "780:9:0" + }, + "scope": 68, + "src": "748:42:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 280, + "src": "313:479:0" + }, + "69": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 69, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "811:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "70": { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 69, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "811:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 70, + "nodeType": "InheritanceSpecifier", + "src": "811:4:0" + }, + "71": { + "certora_contract_name": "Left", + "id": 71, + "nodeType": "ParameterList", + "parameters": [], + "src": "833:2:0" + }, + "72": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 72, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "843:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "73": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "848:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "74": { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "848:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 74, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 72, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "843:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "843:7:0" + }, + "75": { + "certora_contract_name": "Left", + "id": 75, + "nodeType": "ParameterList", + "parameters": [], + "src": "851:0:0" + }, + "76": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "Block", + "src": "851:2:0", + "statements": [] + }, + "77": { + "body": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "Block", + "src": "851:2:0", + "statements": [] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 77, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "848:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 74, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 72, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "843:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "843:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 71, + "nodeType": "ParameterList", + "parameters": [], + "src": "833:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Left", + "id": 75, + "nodeType": "ParameterList", + "parameters": [], + "src": "851:0:0" + }, + "scope": 88, + "src": "822:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "78": { + "certora_contract_name": "Left", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "873:2:0" + }, + "79": { + "certora_contract_name": "Left", + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "80": { + "certora_contract_name": "Left", + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 87, + "src": "892:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "81": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 87, + "src": "892:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:9:0" + }, + "82": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "83": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "84": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "918:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "85": { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "918:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 81, + "id": 85, + "nodeType": "Return", + "src": "911:17:0" + }, + "86": { + "certora_contract_name": "Left", + "id": 86, + "nodeType": "Block", + "src": "901:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "918:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 81, + "id": 85, + "nodeType": "Return", + "src": "911:17:0" + } + ] + }, + "87": { + "body": { + "certora_contract_name": "Left", + "id": 86, + "nodeType": "Block", + "src": "901:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "918:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 81, + "id": 85, + "nodeType": "Return", + "src": "911:17:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 87, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "873:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 87, + "src": "892:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:9:0" + }, + "scope": 88, + "src": "859:76:0", + "stateMutability": "nonpayable", + "superFunction": 67, + "visibility": "public" + }, + "88": { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 69, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "811:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 70, + "nodeType": "InheritanceSpecifier", + "src": "811:4:0" + } + ], + "contractDependencies": [ + 68 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 88, + "linearizedBaseContracts": [ + 88, + 68 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "Block", + "src": "851:2:0", + "statements": [] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 77, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "848:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 74, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 72, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "843:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "843:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 71, + "nodeType": "ParameterList", + "parameters": [], + "src": "833:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Left", + "id": 75, + "nodeType": "ParameterList", + "parameters": [], + "src": "851:0:0" + }, + "scope": 88, + "src": "822:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Left", + "id": 86, + "nodeType": "Block", + "src": "901:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "918:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 81, + "id": 85, + "nodeType": "Return", + "src": "911:17:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 87, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "873:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 87, + "src": "892:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:9:0" + }, + "scope": 88, + "src": "859:76:0", + "stateMutability": "nonpayable", + "superFunction": 67, + "visibility": "public" + } + ], + "scope": 280, + "src": "794:143:0" + }, + "89": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 89, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "958:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "90": { + "arguments": null, + "baseName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 89, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "958:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Middle", + "id": 90, + "nodeType": "InheritanceSpecifier", + "src": "958:4:0" + }, + "91": { + "certora_contract_name": "Middle", + "id": 91, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "991:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "92": { + "certora_contract_name": "Middle", + "constant": false, + "id": 92, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "991:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 91, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "991:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + "93": { + "certora_contract_name": "Middle", + "id": 93, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1011:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "94": { + "certora_contract_name": "Middle", + "constant": false, + "id": 94, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "1011:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 93, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1011:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + "95": { + "canonicalName": "Middle.Slot", + "certora_contract_name": "Middle", + "id": 95, + "members": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 92, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "991:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 91, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "991:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 94, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "1011:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 93, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1011:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Slot", + "nodeType": "StructDefinition", + "scope": 224, + "src": "969:59:0", + "visibility": "public" + }, + "96": { + "certora_contract_name": "Middle", + "id": 96, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1045:4:0" + }, + "97": { + "certora_contract_name": "Middle", + "id": 97, + "name": "Live", + "nodeType": "EnumValue", + "src": "1051:4:0" + }, + "98": { + "certora_contract_name": "Middle", + "id": 98, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1057:4:0" + }, + "99": { + "canonicalName": "Middle.Phase", + "certora_contract_name": "Middle", + "id": 99, + "members": [ + { + "certora_contract_name": "Middle", + "id": 96, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1045:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 97, + "name": "Live", + "nodeType": "EnumValue", + "src": "1051:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 98, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1057:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "1033:29:0" + }, + "100": { + "certora_contract_name": "Middle", + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1076:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "101": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 101, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1087:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "102": { + "certora_contract_name": "Middle", + "id": 102, + "keyType": { + "certora_contract_name": "Middle", + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1076:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1068:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 101, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1087:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "103": { + "certora_contract_name": "Middle", + "constant": false, + "id": 103, + "name": "slots", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1068:39:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 102, + "keyType": { + "certora_contract_name": "Middle", + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1076:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1068:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 101, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1087:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "value": null, + "visibility": "internal" + }, + "104": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 104, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 99, + "src": "1113:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "105": { + "certora_contract_name": "Middle", + "constant": false, + "id": 105, + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1113:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 104, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 99, + "src": "1113:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "value": null, + "visibility": "public" + }, + "106": { + "certora_contract_name": "Middle", + "id": 106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "107": { + "baseType": { + "certora_contract_name": "Middle", + "id": 106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 107, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1137:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "108": { + "certora_contract_name": "Middle", + "constant": false, + "id": 108, + "name": "series", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1137:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Middle", + "id": 106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 107, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1137:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "public" + }, + "109": { + "certora_contract_name": "Middle", + "id": 109, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:2:0" + }, + "110": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 110, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1188:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "111": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "112": { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 112, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 110, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1188:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1188:7:0" + }, + "113": { + "certora_contract_name": "Middle", + "id": 113, + "nodeType": "ParameterList", + "parameters": [], + "src": "1196:0:0" + }, + "114": { + "certora_contract_name": "Middle", + "id": 114, + "nodeType": "Block", + "src": "1196:2:0", + "statements": [] + }, + "115": { + "body": { + "certora_contract_name": "Middle", + "id": 114, + "nodeType": "Block", + "src": "1196:2:0", + "statements": [] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 115, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 112, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 110, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1188:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1188:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 109, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 113, + "nodeType": "ParameterList", + "parameters": [], + "src": "1196:0:0" + }, + "scope": 224, + "src": "1167:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "116": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:2:0" + }, + "117": { + "certora_contract_name": "Middle", + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "118": { + "certora_contract_name": "Middle", + "constant": false, + "id": 118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1287:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "119": { + "certora_contract_name": "Middle", + "id": 119, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1287:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1286:9:0" + }, + "120": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "121": { + "certora_contract_name": "Middle", + "constant": false, + "id": 121, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + }, + "122": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "123": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "124": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "125": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 125, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "126": { + "assignments": [ + 121 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 121, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 126, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 125, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1306:33:0" + }, + "127": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "128": { + "certora_contract_name": "Middle", + "constant": false, + "id": 128, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1349:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "129": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "130": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "131": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "132": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "133": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "134": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "135": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "136": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "137": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1363:29:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "138": { + "assignments": [ + 128 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 128, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1349:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 138, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1363:29:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1349:43:0" + }, + "139": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "140": { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "141": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "142": { + "assignments": [ + 140 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 142, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1407:13:0" + }, + "143": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "144": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "145": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1422:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "146": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "147": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "148": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1429:3:0" + }, + "149": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "150": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "151": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "152": { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + }, + "153": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + }, + "154": { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + "155": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "156": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "157": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "158": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "159": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "160": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "161": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "162": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + }, + "163": { + "certora_contract_name": "Middle", + "id": 163, + "nodeType": "Block", + "src": "1434:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + } + ] + }, + "164": { + "body": { + "certora_contract_name": "Middle", + "id": 163, + "nodeType": "Block", + "src": "1434:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1422:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 164, + "initializationExpression": { + "assignments": [ + 140 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 142, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1407:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1429:3:0" + }, + "nodeType": "ForStatement", + "src": "1402:148:0" + }, + "165": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "166": { + "certora_contract_name": "Middle", + "constant": false, + "id": 166, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1559:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "167": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1571:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "168": { + "assignments": [ + 166 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 166, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1559:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 168, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1571:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1559:13:0" + }, + "169": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "170": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "171": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1589:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "172": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "173": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "174": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + }, + "175": { + "certora_contract_name": "Middle", + "id": 175, + "nodeType": "Block", + "src": "1596:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + } + ] + }, + "176": { + "body": { + "certora_contract_name": "Middle", + "id": 175, + "nodeType": "Block", + "src": "1596:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1589:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 176, + "nodeType": "WhileStatement", + "src": "1582:42:0" + }, + "177": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "178": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "179": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + }, + "180": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1636:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + } + ] + }, + "181": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "182": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "183": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1672:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "184": { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1636:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1672:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 184, + "nodeType": "DoWhileStatement", + "src": "1633:46:0" + }, + "185": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "186": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "187": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "188": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "189": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "190": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "191": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "192": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "193": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "194": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "195": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1688:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "196": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1688:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1688:41:0" + }, + "197": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "198": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "199": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "200": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "201": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1739:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "202": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1739:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 202, + "nodeType": "ExpressionStatement", + "src": "1739:24:0" + }, + "203": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "204": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "205": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "206": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "207": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "208": { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 208, + "nodeType": "EmitStatement", + "src": "1773:28:0" + }, + "209": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 209, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1818:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "210": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 209, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1818:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 119, + "id": 210, + "nodeType": "Return", + "src": "1811:10:0" + }, + "211": { + "certora_contract_name": "Middle", + "id": 211, + "nodeType": "Block", + "src": "1296:532:0", + "statements": [ + { + "assignments": [ + 121 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 121, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 126, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 125, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1306:33:0" + }, + { + "assignments": [ + 128 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 128, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1349:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 138, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1363:29:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1349:43:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 163, + "nodeType": "Block", + "src": "1434:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1422:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 164, + "initializationExpression": { + "assignments": [ + 140 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 142, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1407:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1429:3:0" + }, + "nodeType": "ForStatement", + "src": "1402:148:0" + }, + { + "assignments": [ + 166 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 166, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1559:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 168, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1571:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1559:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 175, + "nodeType": "Block", + "src": "1596:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1589:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 176, + "nodeType": "WhileStatement", + "src": "1582:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1636:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1672:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 184, + "nodeType": "DoWhileStatement", + "src": "1633:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1688:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1688:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1739:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 202, + "nodeType": "ExpressionStatement", + "src": "1739:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 208, + "nodeType": "EmitStatement", + "src": "1773:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 209, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1818:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 119, + "id": 210, + "nodeType": "Return", + "src": "1811:10:0" + } + ] + }, + "212": { + "body": { + "certora_contract_name": "Middle", + "id": 211, + "nodeType": "Block", + "src": "1296:532:0", + "statements": [ + { + "assignments": [ + 121 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 121, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 126, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 125, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1306:33:0" + }, + { + "assignments": [ + 128 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 128, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1349:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 138, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1363:29:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1349:43:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 163, + "nodeType": "Block", + "src": "1434:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1422:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 164, + "initializationExpression": { + "assignments": [ + 140 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 142, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1407:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1429:3:0" + }, + "nodeType": "ForStatement", + "src": "1402:148:0" + }, + { + "assignments": [ + 166 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 166, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1559:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 168, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1571:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1559:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 175, + "nodeType": "Block", + "src": "1596:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1589:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 176, + "nodeType": "WhileStatement", + "src": "1582:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1636:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1672:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 184, + "nodeType": "DoWhileStatement", + "src": "1633:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1688:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1688:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1739:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 202, + "nodeType": "ExpressionStatement", + "src": "1739:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 208, + "nodeType": "EmitStatement", + "src": "1773:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 209, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1818:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 119, + "id": 210, + "nodeType": "Return", + "src": "1811:10:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": "@notice function NatSpec, 0.4 string form", + "id": 212, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 119, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1287:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1286:9:0" + }, + "scope": 224, + "src": "1254:574:0", + "stateMutability": "nonpayable", + "superFunction": 67, + "visibility": "public" + }, + "213": { + "certora_contract_name": "Middle", + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "214": { + "certora_contract_name": "Middle", + "constant": false, + "id": 214, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1849:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "215": { + "certora_contract_name": "Middle", + "id": 215, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 214, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1849:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1848:16:0" + }, + "216": { + "certora_contract_name": "Middle", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "217": { + "certora_contract_name": "Middle", + "constant": false, + "id": 217, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1886:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "218": { + "certora_contract_name": "Middle", + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "219": { + "certora_contract_name": "Middle", + "constant": false, + "id": 219, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1900:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + "220": { + "certora_contract_name": "Middle", + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 217, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1886:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 219, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1900:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:28:0" + }, + "221": { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "1947:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2071:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2181:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "2029:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "1967:6:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "2145:6:0", + "valueSize": 1 + } + } + ], + "id": 221, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", + "src": "1924:305:0" + }, + "222": { + "certora_contract_name": "Middle", + "id": 222, + "nodeType": "Block", + "src": "1914:315:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "1947:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2071:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2181:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "2029:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "1967:6:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "2145:6:0", + "valueSize": 1 + } + } + ], + "id": 221, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", + "src": "1924:305:0" + } + ] + }, + "223": { + "body": { + "certora_contract_name": "Middle", + "id": 222, + "nodeType": "Block", + "src": "1914:315:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "1947:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2071:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2181:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "2029:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "1967:6:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "2145:6:0", + "valueSize": 1 + } + } + ], + "id": 221, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", + "src": "1924:305:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 215, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 214, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1849:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1848:16:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 217, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1886:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 219, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1900:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:28:0" + }, + "scope": 224, + "src": "1834:395:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "224": { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 89, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "958:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Middle", + "id": 90, + "nodeType": "InheritanceSpecifier", + "src": "958:4:0" + } + ], + "contractDependencies": [ + 68 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 224, + "linearizedBaseContracts": [ + 224, + 68 + ], + "name": "Middle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Middle.Slot", + "certora_contract_name": "Middle", + "id": 95, + "members": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 92, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "991:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 91, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "991:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 94, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "1011:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 93, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1011:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Slot", + "nodeType": "StructDefinition", + "scope": 224, + "src": "969:59:0", + "visibility": "public" + }, + { + "canonicalName": "Middle.Phase", + "certora_contract_name": "Middle", + "id": 99, + "members": [ + { + "certora_contract_name": "Middle", + "id": 96, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1045:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 97, + "name": "Live", + "nodeType": "EnumValue", + "src": "1051:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 98, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1057:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "1033:29:0" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 103, + "name": "slots", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1068:39:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 102, + "keyType": { + "certora_contract_name": "Middle", + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1076:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1068:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 101, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1087:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 105, + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1113:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 104, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 99, + "src": "1113:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 108, + "name": "series", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1137:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Middle", + "id": 106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 107, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1137:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 114, + "nodeType": "Block", + "src": "1196:2:0", + "statements": [] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 115, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 112, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 110, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1188:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1188:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 109, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 113, + "nodeType": "ParameterList", + "parameters": [], + "src": "1196:0:0" + }, + "scope": 224, + "src": "1167:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 211, + "nodeType": "Block", + "src": "1296:532:0", + "statements": [ + { + "assignments": [ + 121 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 121, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 126, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 125, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1306:33:0" + }, + { + "assignments": [ + 128 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 128, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1349:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 138, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1363:29:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1349:43:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 163, + "nodeType": "Block", + "src": "1434:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1422:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 164, + "initializationExpression": { + "assignments": [ + 140 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 142, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1407:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1429:3:0" + }, + "nodeType": "ForStatement", + "src": "1402:148:0" + }, + { + "assignments": [ + 166 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 166, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1559:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 168, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1571:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1559:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 175, + "nodeType": "Block", + "src": "1596:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1589:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 176, + "nodeType": "WhileStatement", + "src": "1582:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1636:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1672:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 184, + "nodeType": "DoWhileStatement", + "src": "1633:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1688:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1688:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1739:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 202, + "nodeType": "ExpressionStatement", + "src": "1739:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 208, + "nodeType": "EmitStatement", + "src": "1773:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 209, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1818:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 119, + "id": 210, + "nodeType": "Return", + "src": "1811:10:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": "@notice function NatSpec, 0.4 string form", + "id": 212, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 119, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1287:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1286:9:0" + }, + "scope": 224, + "src": "1254:574:0", + "stateMutability": "nonpayable", + "superFunction": 67, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 222, + "nodeType": "Block", + "src": "1914:315:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "1947:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2071:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2181:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "2029:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "1967:6:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "2145:6:0", + "valueSize": 1 + } + } + ], + "id": 221, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", + "src": "1924:305:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 215, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 214, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1849:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1848:16:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 217, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1886:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 219, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1900:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:28:0" + }, + "scope": 224, + "src": "1834:395:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 280, + "src": "939:1292:0" + }, + "225": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 225, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7, + "src": "2253:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$7", + "typeString": "contract IToken" + } + }, + "226": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 225, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7, + "src": "2253:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$7", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 226, + "nodeType": "InheritanceSpecifier", + "src": "2253:6:0" + }, + "227": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 227, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 88, + "src": "2261:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$88", + "typeString": "contract Left" + } + }, + "228": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 227, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 88, + "src": "2261:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$88", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 228, + "nodeType": "InheritanceSpecifier", + "src": "2261:4:0" + }, + "229": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2272:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "230": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 230, + "name": "supply", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "2272:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2272:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + "231": { + "certora_contract_name": "Diamond", + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "2312:2:0" + }, + "232": { + "certora_contract_name": "Diamond", + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "2322:0:0" + }, + "233": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "234": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "235": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "236": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "237": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "238": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "239": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "240": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "241": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2332:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "242": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2332:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2332:34:0" + }, + "243": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "244": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 244, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 266, + "src": "2376:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + "245": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "246": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "247": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "248": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "249": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "250": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "251": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + }, + "252": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "253": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2396:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "254": { + "assignments": [ + 244 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 244, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 266, + "src": "2376:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 254, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2396:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2376:62:0" + }, + "255": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "256": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "257": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "258": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "259": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + }, + "260": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "261": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "262": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "263": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2448:45:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "264": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2448:45:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "2448:45:0" + }, + "265": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "Block", + "src": "2322:178:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2332:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2332:34:0" + }, + { + "assignments": [ + 244 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 244, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 266, + "src": "2376:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 254, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2396:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2376:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2448:45:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "2448:45:0" + } + ] + }, + "266": { + "body": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "Block", + "src": "2322:178:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2332:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2332:34:0" + }, + { + "assignments": [ + 244 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 244, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 266, + "src": "2376:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 254, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2396:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2376:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2448:45:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "2448:45:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 266, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "2312:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "2322:0:0" + }, + "scope": 279, + "src": "2301:199:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "267": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [], + "src": "2526:2:0" + }, + "268": { + "certora_contract_name": "Diamond", + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2552:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "269": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 269, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "2552:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2552:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "270": { + "certora_contract_name": "Diamond", + "id": 270, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 269, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "2552:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2552:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2551:9:0" + }, + "271": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 271, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2578:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "272": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 271, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2578:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 270, + "id": 272, + "nodeType": "Return", + "src": "2571:13:0" + }, + "273": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "Block", + "src": "2561:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 271, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2578:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 270, + "id": 272, + "nodeType": "Return", + "src": "2571:13:0" + } + ] + }, + "274": { + "body": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "Block", + "src": "2561:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 271, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2578:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 270, + "id": 272, + "nodeType": "Return", + "src": "2571:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 274, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [], + "src": "2526:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 270, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 269, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "2552:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2552:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2551:9:0" + }, + "scope": 279, + "src": "2506:85:0", + "stateMutability": "view", + "superFunction": 6, + "visibility": "external" + }, + "275": { + "certora_contract_name": "Diamond", + "id": 275, + "nodeType": "ParameterList", + "parameters": [], + "src": "2605:2:0" + }, + "276": { + "certora_contract_name": "Diamond", + "id": 276, + "nodeType": "ParameterList", + "parameters": [], + "src": "2625:0:0" + }, + "277": { + "certora_contract_name": "Diamond", + "id": 277, + "nodeType": "Block", + "src": "2625:2:0", + "statements": [] + }, + "278": { + "body": { + "certora_contract_name": "Diamond", + "id": 277, + "nodeType": "Block", + "src": "2625:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 275, + "nodeType": "ParameterList", + "parameters": [], + "src": "2605:2:0" + }, + "payable": true, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 276, + "nodeType": "ParameterList", + "parameters": [], + "src": "2625:0:0" + }, + "scope": 279, + "src": "2597:30:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + "279": { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 225, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7, + "src": "2253:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$7", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 226, + "nodeType": "InheritanceSpecifier", + "src": "2253:6:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 227, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 88, + "src": "2261:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$88", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 228, + "nodeType": "InheritanceSpecifier", + "src": "2261:4:0" + } + ], + "contractDependencies": [ + 7, + 68, + 88 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 279, + "linearizedBaseContracts": [ + 279, + 88, + 68, + 7 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 230, + "name": "supply", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "2272:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2272:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "Block", + "src": "2322:178:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2332:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2332:34:0" + }, + { + "assignments": [ + 244 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 244, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 266, + "src": "2376:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 254, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2396:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2376:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2448:45:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "2448:45:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 266, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "2312:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "2322:0:0" + }, + "scope": 279, + "src": "2301:199:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "Block", + "src": "2561:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 271, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2578:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 270, + "id": 272, + "nodeType": "Return", + "src": "2571:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 274, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [], + "src": "2526:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 270, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 269, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "2552:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2552:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2551:9:0" + }, + "scope": 279, + "src": "2506:85:0", + "stateMutability": "view", + "superFunction": 6, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 277, + "nodeType": "Block", + "src": "2625:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 275, + "nodeType": "ParameterList", + "parameters": [], + "src": "2605:2:0" + }, + "payable": true, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 276, + "nodeType": "ParameterList", + "parameters": [], + "src": "2625:0:0" + }, + "scope": 279, + "src": "2597:30:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 280, + "src": "2233:396:0" + }, + "280": { + "absolutePath": "breadth_04.sol", + "exportedSymbols": { + "Base": [ + 68 + ], + "Diamond": [ + 279 + ], + "IToken": [ + 7 + ], + "Left": [ + 88 + ], + "MathLib": [ + 22 + ], + "Middle": [ + 224 + ] + }, + "id": 280, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title 0.4-era interface", + "fullyImplemented": false, + "id": 7, + "linearizedBaseContracts": [ + 7 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "id": 6, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 2, + "nodeType": "ParameterList", + "parameters": [], + "src": "98:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 5, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 4, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "124:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 3, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "124:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "123:9:0" + }, + "scope": 7, + "src": "78:55:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 280, + "src": "55:80:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 22, + "linearizedBaseContracts": [ + 22 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 20, + "nodeType": "Block", + "src": "226:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 16, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "243:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "247:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "243:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 15, + "id": 19, + "nodeType": "Return", + "src": "236:12:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 21, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 9, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "172:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "172:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 11, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "183:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "171:22:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 14, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "217:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "216:9:0" + }, + "scope": 22, + "src": "159:96:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 280, + "src": "137:120:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@notice Contract-level NatSpec in the 0.4 dialect", + "fullyImplemented": false, + "id": 68, + "linearizedBaseContracts": [ + 68 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 24, + "name": "stored", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "357:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 23, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "357:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "id": 27, + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "384:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 25, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "384:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "416:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 29, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "425:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 35, + "name": "Stored", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 34, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 31, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "467:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 30, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 33, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "488:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "488:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:36:0" + }, + "src": "454:49:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 49, + "nodeType": "Block", + "src": "585:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 40, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "595:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "604:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "595:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "595:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 44, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "621:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "629:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "629:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "621:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "621:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": "@param initial the seed value", + "id": 50, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 37, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "559:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "559:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "558:17:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [], + "src": "585:0:0" + }, + "scope": 68, + "src": "547:99:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "Block", + "src": "673:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 53, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "691:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "691:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 55, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "705:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "691:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 52, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 297, + 298 + ], + "referencedDeclaration": 298, + "src": "683:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "683:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 59, + "nodeType": "ExpressionStatement", + "src": "683:41:0" + }, + { + "certora_contract_name": "Base", + "id": 60, + "nodeType": "PlaceholderStatement", + "src": "734:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 62, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 51, + "nodeType": "ParameterList", + "parameters": [], + "src": "670:2:0" + }, + "src": "652:90:0", + "visibility": "internal" + }, + { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "id": 67, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 63, + "nodeType": "ParameterList", + "parameters": [], + "src": "762:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Base", + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 65, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "781:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "781:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "780:9:0" + }, + "scope": 68, + "src": "748:42:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 280, + "src": "313:479:0" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 69, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "811:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 70, + "nodeType": "InheritanceSpecifier", + "src": "811:4:0" + } + ], + "contractDependencies": [ + 68 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 88, + "linearizedBaseContracts": [ + 88, + 68 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "Block", + "src": "851:2:0", + "statements": [] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 77, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "848:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 74, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 72, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "843:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "843:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 71, + "nodeType": "ParameterList", + "parameters": [], + "src": "833:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Left", + "id": 75, + "nodeType": "ParameterList", + "parameters": [], + "src": "851:0:0" + }, + "scope": 88, + "src": "822:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Left", + "id": 86, + "nodeType": "Block", + "src": "901:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 82, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "918:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "927:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "918:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 81, + "id": 85, + "nodeType": "Return", + "src": "911:17:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 87, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 78, + "nodeType": "ParameterList", + "parameters": [], + "src": "873:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 87, + "src": "892:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:9:0" + }, + "scope": 88, + "src": "859:76:0", + "stateMutability": "nonpayable", + "superFunction": 67, + "visibility": "public" + } + ], + "scope": 280, + "src": "794:143:0" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 89, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 68, + "src": "958:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$68", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Middle", + "id": 90, + "nodeType": "InheritanceSpecifier", + "src": "958:4:0" + } + ], + "contractDependencies": [ + 68 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 224, + "linearizedBaseContracts": [ + 224, + 68 + ], + "name": "Middle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Middle.Slot", + "certora_contract_name": "Middle", + "id": 95, + "members": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 92, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "991:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 91, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "991:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 94, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 95, + "src": "1011:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 93, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1011:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Slot", + "nodeType": "StructDefinition", + "scope": 224, + "src": "969:59:0", + "visibility": "public" + }, + { + "canonicalName": "Middle.Phase", + "certora_contract_name": "Middle", + "id": 99, + "members": [ + { + "certora_contract_name": "Middle", + "id": 96, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1045:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 97, + "name": "Live", + "nodeType": "EnumValue", + "src": "1051:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 98, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1057:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "1033:29:0" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 103, + "name": "slots", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1068:39:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 102, + "keyType": { + "certora_contract_name": "Middle", + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1076:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1068:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 101, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1087:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 105, + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1113:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 104, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 99, + "src": "1113:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 108, + "name": "series", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "1137:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Middle", + "id": 106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 107, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1137:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 114, + "nodeType": "Block", + "src": "1196:2:0", + "statements": [] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 115, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 112, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 110, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1188:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$68_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1188:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 109, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 113, + "nodeType": "ParameterList", + "parameters": [], + "src": "1196:0:0" + }, + "scope": 224, + "src": "1167:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 211, + "nodeType": "Block", + "src": "1296:532:0", + "statements": [ + { + "assignments": [ + 121 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 121, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1306:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 120, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "1306:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 126, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 122, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1322:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 125, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1328:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1328:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1306:33:0" + }, + { + "assignments": [ + 128 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 128, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1349:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1349:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 138, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 130, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1371:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1371:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1363:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1363:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 134, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1387:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "1387:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1379:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:13:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1363:29:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1349:43:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 163, + "nodeType": "Block", + "src": "1434:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1452:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1457:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 154, + "nodeType": "IfStatement", + "src": "1448:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 153, + "nodeType": "Block", + "src": "1460:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 152, + "nodeType": "Continue", + "src": "1478:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 155, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1514:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 158, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1532:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 159, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1537:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 156, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "1520:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", + "typeString": "type(library MathLib)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1520:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1514:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1514:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1422:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1426:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1422:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 164, + "initializationExpression": { + "assignments": [ + 140 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 140, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1407:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 142, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1419:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1407:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1429:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1429:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1429:3:0" + }, + "nodeType": "ForStatement", + "src": "1402:148:0" + }, + { + "assignments": [ + 166 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 166, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1559:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1559:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 168, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1571:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1559:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 175, + "nodeType": "Block", + "src": "1596:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1610:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1610:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1610:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 169, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1589:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1589:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 176, + "nodeType": "WhileStatement", + "src": "1582:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1636:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1650:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 177, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1650:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1650:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 181, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1672:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1672:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 184, + "nodeType": "DoWhileStatement", + "src": "1633:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 185, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1688:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1694:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 187, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1703:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$99", + "typeString": "enum Middle.Phase" + } + }, + "src": "1694:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 193, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1726:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1694:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1716:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1716:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1688:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1688:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1739:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 197, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1746:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 200, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1752:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1752:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1746:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$95_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 202, + "nodeType": "ExpressionStatement", + "src": "1739:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "1785:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1785:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 206, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1797:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 203, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "1778:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 208, + "nodeType": "EmitStatement", + "src": "1773:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 209, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1818:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 119, + "id": 210, + "nodeType": "Return", + "src": "1811:10:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": "@notice function NatSpec, 0.4 string form", + "id": 212, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 119, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 212, + "src": "1287:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1286:9:0" + }, + "scope": 224, + "src": "1254:574:0", + "stateMutability": "nonpayable", + "superFunction": 67, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 222, + "nodeType": "Block", + "src": "1914:315:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "1947:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2071:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 219, + "isOffset": false, + "isSlot": false, + "src": "2181:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 217, + "isOffset": false, + "isSlot": false, + "src": "2029:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "1967:6:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 214, + "isOffset": false, + "isSlot": false, + "src": "2145:6:0", + "valueSize": 1 + } + } + ], + "id": 221, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", + "src": "1924:305:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 215, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 214, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1849:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1848:16:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 217, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1886:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 219, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1900:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:28:0" + }, + "scope": 224, + "src": "1834:395:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 280, + "src": "939:1292:0" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 225, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7, + "src": "2253:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$7", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 226, + "nodeType": "InheritanceSpecifier", + "src": "2253:6:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 227, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 88, + "src": "2261:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$88", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 228, + "nodeType": "InheritanceSpecifier", + "src": "2261:4:0" + } + ], + "contractDependencies": [ + 7, + 68, + 88 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 279, + "linearizedBaseContracts": [ + 279, + 88, + 68, + 7 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 230, + "name": "supply", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "2272:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2272:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "Block", + "src": "2322:178:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 233, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2332:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2356:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 235, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2346:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 239, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2341:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2341:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2332:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "2332:34:0" + }, + { + "assignments": [ + 244 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 244, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 266, + "src": "2376:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 254, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2420:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2413:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2413:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 251, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2432:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2424:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2424:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "2396:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2396:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2396:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2376:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 255, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2448:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 256, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2458:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2458:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2480:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$279", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2472:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2472:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2458:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2448:45:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "2448:45:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 266, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "2312:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "2322:0:0" + }, + "scope": 279, + "src": "2301:199:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "Block", + "src": "2561:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 271, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "2578:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 270, + "id": 272, + "nodeType": "Return", + "src": "2571:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 274, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 267, + "nodeType": "ParameterList", + "parameters": [], + "src": "2526:2:0" + }, + "payable": false, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 270, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 269, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "2552:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2552:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2551:9:0" + }, + "scope": 279, + "src": "2506:85:0", + "stateMutability": "view", + "superFunction": 6, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 277, + "nodeType": "Block", + "src": "2625:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 275, + "nodeType": "ParameterList", + "parameters": [], + "src": "2605:2:0" + }, + "payable": true, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 276, + "nodeType": "ParameterList", + "parameters": [], + "src": "2625:0:0" + }, + "scope": 279, + "src": "2597:30:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 280, + "src": "2233:396:0" + } + ], + "src": "0:2630:0" + } + } + } +} diff --git a/tests/fixtures/solidity_ast/solc_0_5_17.asts.json b/tests/fixtures/solidity_ast/solc_0_5_17.asts.json new file mode 100644 index 0000000..37c39f7 --- /dev/null +++ b/tests/fixtures/solidity_ast/solc_0_5_17.asts.json @@ -0,0 +1,25722 @@ +{ + "breadth_05.sol": { + "breadth_05.sol": { + "1": { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + "2": { + "id": 2, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "25:33:0" + }, + "3": { + "certora_contract_name": "IToken", + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:2:0" + }, + "4": { + "certora_contract_name": "IToken", + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "5": { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "180:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "6": { + "certora_contract_name": "IToken", + "id": 6, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "180:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "179:9:0" + }, + "7": { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "id": 7, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:2:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 6, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "180:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "179:9:0" + }, + "scope": 8, + "src": "134:55:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + "8": { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title Interface exercising 0.5-era AST shapes", + "fullyImplemented": false, + "id": 8, + "linearizedBaseContracts": [ + 8 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "id": 7, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:2:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 6, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "180:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "179:9:0" + }, + "scope": 8, + "src": "134:55:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 304, + "src": "111:80:0" + }, + "9": { + "certora_contract_name": "MathLib", + "id": 9, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "10": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 10, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "228:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 9, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "11": { + "certora_contract_name": "MathLib", + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "239:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "12": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 12, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "239:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "239:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "13": { + "certora_contract_name": "MathLib", + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 10, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "228:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 9, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 12, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "239:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "239:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:22:0" + }, + "14": { + "certora_contract_name": "MathLib", + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "15": { + "certora_contract_name": "MathLib", + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "273:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "16": { + "certora_contract_name": "MathLib", + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "273:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "272:9:0" + }, + "17": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "18": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "19": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "299:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "20": { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "299:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 20, + "nodeType": "Return", + "src": "292:12:0" + }, + "21": { + "certora_contract_name": "MathLib", + "id": 21, + "nodeType": "Block", + "src": "282:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "299:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 20, + "nodeType": "Return", + "src": "292:12:0" + } + ] + }, + "22": { + "body": { + "certora_contract_name": "MathLib", + "id": 21, + "nodeType": "Block", + "src": "282:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "299:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 20, + "nodeType": "Return", + "src": "292:12:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 22, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 10, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "228:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 9, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 12, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "239:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "239:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "273:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "272:9:0" + }, + "scope": 23, + "src": "215:96:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "23": { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 23, + "linearizedBaseContracts": [ + 23 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 21, + "nodeType": "Block", + "src": "282:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "299:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 20, + "nodeType": "Return", + "src": "292:12:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 22, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 10, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "228:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 9, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 12, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "239:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "239:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "273:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "272:9:0" + }, + "scope": 23, + "src": "215:96:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 304, + "src": "193:120:0" + }, + "24": { + "certora_contract_name": "Base", + "id": 24, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "25": { + "certora_contract_name": "Base", + "constant": false, + "id": 25, + "name": "stored", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "437:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 24, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + "26": { + "certora_contract_name": "Base", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "464:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "27": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "496:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "28": { + "certora_contract_name": "Base", + "constant": true, + "id": 28, + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "464:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "464:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "496:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + "29": { + "certora_contract_name": "Base", + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "505:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "30": { + "certora_contract_name": "Base", + "constant": false, + "id": 30, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "505:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "505:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "31": { + "certora_contract_name": "Base", + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "32": { + "certora_contract_name": "Base", + "constant": false, + "id": 32, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "547:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "33": { + "certora_contract_name": "Base", + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "568:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "34": { + "certora_contract_name": "Base", + "constant": false, + "id": 34, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "568:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "568:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "35": { + "certora_contract_name": "Base", + "id": 35, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 32, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "547:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 34, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "568:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "568:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "546:36:0" + }, + "36": { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 36, + "name": "Stored", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 35, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 32, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "547:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 34, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "568:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "568:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "546:36:0" + }, + "src": "534:49:0" + }, + "37": { + "certora_contract_name": "Base", + "id": 37, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "639:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "38": { + "certora_contract_name": "Base", + "constant": false, + "id": 38, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "639:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 37, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "639:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "39": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 38, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "639:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 37, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "639:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "638:17:0" + }, + "40": { + "certora_contract_name": "Base", + "id": 40, + "nodeType": "ParameterList", + "parameters": [], + "src": "665:0:0" + }, + "41": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "42": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "43": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "675:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "44": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "675:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44, + "nodeType": "ExpressionStatement", + "src": "675:16:0" + }, + "45": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "46": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "47": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "48": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "701:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "49": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "701:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 49, + "nodeType": "ExpressionStatement", + "src": "701:18:0" + }, + "50": { + "certora_contract_name": "Base", + "id": 50, + "nodeType": "Block", + "src": "665:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "675:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44, + "nodeType": "ExpressionStatement", + "src": "675:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "701:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 49, + "nodeType": "ExpressionStatement", + "src": "701:18:0" + } + ] + }, + "51": { + "body": { + "certora_contract_name": "Base", + "id": 50, + "nodeType": "Block", + "src": "665:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "675:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44, + "nodeType": "ExpressionStatement", + "src": "675:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "701:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 49, + "nodeType": "ExpressionStatement", + "src": "701:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": "@param initial the seed value", + "id": 51, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 38, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "639:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 37, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "639:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "638:17:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 40, + "nodeType": "ParameterList", + "parameters": [], + "src": "665:0:0" + }, + "scope": 73, + "src": "627:99:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "52": { + "certora_contract_name": "Base", + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "750:2:0" + }, + "53": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "54": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "55": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "56": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "57": { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "58": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + }, + "59": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "763:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "60": { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "763:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 60, + "nodeType": "ExpressionStatement", + "src": "763:41:0" + }, + "61": { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "PlaceholderStatement", + "src": "814:1:0" + }, + "62": { + "certora_contract_name": "Base", + "id": 62, + "nodeType": "Block", + "src": "753:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "763:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 60, + "nodeType": "ExpressionStatement", + "src": "763:41:0" + }, + { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "PlaceholderStatement", + "src": "814:1:0" + } + ] + }, + "63": { + "body": { + "certora_contract_name": "Base", + "id": 62, + "nodeType": "Block", + "src": "753:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "763:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 60, + "nodeType": "ExpressionStatement", + "src": "763:41:0" + }, + { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "PlaceholderStatement", + "src": "814:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 63, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "750:2:0" + }, + "src": "732:90:0", + "visibility": "internal" + }, + "64": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [], + "src": "842:2:0" + }, + "65": { + "certora_contract_name": "Base", + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "66": { + "certora_contract_name": "Base", + "constant": false, + "id": 66, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "861:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "67": { + "certora_contract_name": "Base", + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 66, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "861:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:9:0" + }, + "68": { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "id": 68, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [], + "src": "842:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 66, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "861:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:9:0" + }, + "scope": 73, + "src": "828:42:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "69": { + "certora_contract_name": "Base", + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:2:0" + }, + "70": { + "certora_contract_name": "Base", + "id": 70, + "nodeType": "PlaceholderStatement", + "src": "908:1:0" + }, + "71": { + "certora_contract_name": "Base", + "id": 71, + "nodeType": "Block", + "src": "898:18:0", + "statements": [ + { + "certora_contract_name": "Base", + "id": 70, + "nodeType": "PlaceholderStatement", + "src": "908:1:0" + } + ] + }, + "72": { + "body": { + "certora_contract_name": "Base", + "id": 71, + "nodeType": "Block", + "src": "898:18:0", + "statements": [ + { + "certora_contract_name": "Base", + "id": 70, + "nodeType": "PlaceholderStatement", + "src": "908:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 72, + "name": "virtualish", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:2:0" + }, + "src": "876:40:0", + "visibility": "internal" + }, + "73": { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@notice Contract-level NatSpec: plain-string `documentation` in 0.5 dumps", + "fullyImplemented": false, + "id": 73, + "linearizedBaseContracts": [ + 73 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 25, + "name": "stored", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "437:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 24, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "id": 28, + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "464:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "464:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "496:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 30, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "505:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "505:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 36, + "name": "Stored", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 35, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 32, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "547:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 34, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "568:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "568:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "546:36:0" + }, + "src": "534:49:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 50, + "nodeType": "Block", + "src": "665:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "675:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44, + "nodeType": "ExpressionStatement", + "src": "675:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "701:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 49, + "nodeType": "ExpressionStatement", + "src": "701:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": "@param initial the seed value", + "id": 51, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 38, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "639:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 37, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "639:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "638:17:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 40, + "nodeType": "ParameterList", + "parameters": [], + "src": "665:0:0" + }, + "scope": 73, + "src": "627:99:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 62, + "nodeType": "Block", + "src": "753:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "763:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 60, + "nodeType": "ExpressionStatement", + "src": "763:41:0" + }, + { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "PlaceholderStatement", + "src": "814:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 63, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "750:2:0" + }, + "src": "732:90:0", + "visibility": "internal" + }, + { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "id": 68, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [], + "src": "842:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 66, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "861:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:9:0" + }, + "scope": 73, + "src": "828:42:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 71, + "nodeType": "Block", + "src": "898:18:0", + "statements": [ + { + "certora_contract_name": "Base", + "id": 70, + "nodeType": "PlaceholderStatement", + "src": "908:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 72, + "name": "virtualish", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:2:0" + }, + "src": "876:40:0", + "visibility": "internal" + } + ], + "scope": 304, + "src": "393:525:0" + }, + "74": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 74, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "937:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "75": { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 74, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "937:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 75, + "nodeType": "InheritanceSpecifier", + "src": "937:4:0" + }, + "76": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "ParameterList", + "parameters": [], + "src": "959:2:0" + }, + "77": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 77, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "969:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "78": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "79": { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 79, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 77, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "969:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "969:7:0" + }, + "80": { + "certora_contract_name": "Left", + "id": 80, + "nodeType": "ParameterList", + "parameters": [], + "src": "977:0:0" + }, + "81": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "Block", + "src": "977:2:0", + "statements": [] + }, + "82": { + "body": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "Block", + "src": "977:2:0", + "statements": [] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 82, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 79, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 77, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "969:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "969:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "ParameterList", + "parameters": [], + "src": "959:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 80, + "nodeType": "ParameterList", + "parameters": [], + "src": "977:0:0" + }, + "scope": 95, + "src": "948:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "83": { + "certora_contract_name": "Left", + "id": 83, + "nodeType": "ParameterList", + "parameters": [], + "src": "999:2:0" + }, + "84": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 84, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1009:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "85": { + "arguments": null, + "certora_contract_name": "Left", + "id": 85, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 84, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1009:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1009:10:0" + }, + "86": { + "certora_contract_name": "Left", + "id": 86, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1029:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "87": { + "certora_contract_name": "Left", + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1029:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 86, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1029:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "88": { + "certora_contract_name": "Left", + "id": 88, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1029:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 86, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1029:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1028:9:0" + }, + "89": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "90": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "91": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1055:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "92": { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1055:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "1048:17:0" + }, + "93": { + "certora_contract_name": "Left", + "id": 93, + "nodeType": "Block", + "src": "1038:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1055:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "1048:17:0" + } + ] + }, + "94": { + "body": { + "certora_contract_name": "Left", + "id": 93, + "nodeType": "Block", + "src": "1038:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1055:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "1048:17:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 94, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Left", + "id": 85, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 84, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1009:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1009:10:0" + } + ], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 83, + "nodeType": "ParameterList", + "parameters": [], + "src": "999:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 88, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1029:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 86, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1029:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1028:9:0" + }, + "scope": 95, + "src": "985:87:0", + "stateMutability": "nonpayable", + "superFunction": 68, + "visibility": "public" + }, + "95": { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 74, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "937:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 75, + "nodeType": "InheritanceSpecifier", + "src": "937:4:0" + } + ], + "contractDependencies": [ + 73 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 95, + "linearizedBaseContracts": [ + 95, + 73 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "Block", + "src": "977:2:0", + "statements": [] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 82, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 79, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 77, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "969:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "969:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "ParameterList", + "parameters": [], + "src": "959:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 80, + "nodeType": "ParameterList", + "parameters": [], + "src": "977:0:0" + }, + "scope": 95, + "src": "948:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Left", + "id": 93, + "nodeType": "Block", + "src": "1038:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1055:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "1048:17:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 94, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Left", + "id": 85, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 84, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1009:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1009:10:0" + } + ], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 83, + "nodeType": "ParameterList", + "parameters": [], + "src": "999:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 88, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1029:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 86, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1029:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1028:9:0" + }, + "scope": 95, + "src": "985:87:0", + "stateMutability": "nonpayable", + "superFunction": 68, + "visibility": "public" + } + ], + "scope": 304, + "src": "920:154:0" + }, + "96": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 96, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "1095:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "97": { + "arguments": null, + "baseName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 96, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "1095:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Middle", + "id": 97, + "nodeType": "InheritanceSpecifier", + "src": "1095:4:0" + }, + "98": { + "certora_contract_name": "Middle", + "id": 98, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1128:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "99": { + "certora_contract_name": "Middle", + "constant": false, + "id": 99, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1128:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 98, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1128:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + "100": { + "certora_contract_name": "Middle", + "id": 100, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1148:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "101": { + "certora_contract_name": "Middle", + "constant": false, + "id": 101, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1148:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 100, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1148:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + "102": { + "canonicalName": "Middle.Slot", + "certora_contract_name": "Middle", + "id": 102, + "members": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 99, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1128:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 98, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1128:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 101, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1148:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 100, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1148:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Slot", + "nodeType": "StructDefinition", + "scope": 241, + "src": "1106:59:0", + "visibility": "public" + }, + "103": { + "certora_contract_name": "Middle", + "id": 103, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1182:4:0" + }, + "104": { + "certora_contract_name": "Middle", + "id": 104, + "name": "Live", + "nodeType": "EnumValue", + "src": "1188:4:0" + }, + "105": { + "certora_contract_name": "Middle", + "id": 105, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1194:4:0" + }, + "106": { + "canonicalName": "Middle.Phase", + "certora_contract_name": "Middle", + "id": 106, + "members": [ + { + "certora_contract_name": "Middle", + "id": 103, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1182:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 104, + "name": "Live", + "nodeType": "EnumValue", + "src": "1188:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 105, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1194:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "1170:29:0" + }, + "107": { + "certora_contract_name": "Middle", + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "108": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 108, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1224:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "109": { + "certora_contract_name": "Middle", + "id": 109, + "keyType": { + "certora_contract_name": "Middle", + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1205:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 108, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1224:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "110": { + "certora_contract_name": "Middle", + "constant": false, + "id": 110, + "name": "slots", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1205:39:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 109, + "keyType": { + "certora_contract_name": "Middle", + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1205:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 108, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1224:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "value": null, + "visibility": "internal" + }, + "111": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 111, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 106, + "src": "1250:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "112": { + "certora_contract_name": "Middle", + "constant": false, + "id": 112, + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1250:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 111, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 106, + "src": "1250:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "value": null, + "visibility": "public" + }, + "113": { + "certora_contract_name": "Middle", + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "114": { + "baseType": { + "certora_contract_name": "Middle", + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 114, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1274:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "115": { + "certora_contract_name": "Middle", + "constant": false, + "id": 115, + "name": "series", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1274:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Middle", + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 114, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1274:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "public" + }, + "116": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1315:2:0" + }, + "117": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 117, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1325:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "118": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "119": { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 119, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 117, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1325:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1325:7:0" + }, + "120": { + "certora_contract_name": "Middle", + "id": 120, + "nodeType": "ParameterList", + "parameters": [], + "src": "1333:0:0" + }, + "121": { + "certora_contract_name": "Middle", + "id": 121, + "nodeType": "Block", + "src": "1333:2:0", + "statements": [] + }, + "122": { + "body": { + "certora_contract_name": "Middle", + "id": 121, + "nodeType": "Block", + "src": "1333:2:0", + "statements": [] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 122, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 119, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 117, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1325:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1325:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1315:2:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 120, + "nodeType": "ParameterList", + "parameters": [], + "src": "1333:0:0" + }, + "scope": 241, + "src": "1304:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "123": { + "certora_contract_name": "Middle", + "id": 123, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:2:0" + }, + "124": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 124, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1415:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "125": { + "arguments": null, + "certora_contract_name": "Middle", + "id": 125, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 124, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1415:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1415:10:0" + }, + "126": { + "certora_contract_name": "Middle", + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "127": { + "certora_contract_name": "Middle", + "constant": false, + "id": 127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1435:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "128": { + "certora_contract_name": "Middle", + "id": 128, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1435:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1434:9:0" + }, + "129": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "130": { + "certora_contract_name": "Middle", + "constant": false, + "id": 130, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1454:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + }, + "131": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "132": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "133": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "134": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 134, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1470:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "135": { + "assignments": [ + 130 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 130, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1454:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 134, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1470:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1454:33:0" + }, + "136": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "137": { + "certora_contract_name": "Middle", + "constant": false, + "id": 137, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1498:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + "138": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "139": { + "certora_contract_name": "Middle", + "constant": false, + "id": 139, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1510:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + "140": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "141": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "142": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "143": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "144": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1524:12:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" + } + }, + "145": { + "assignments": [ + 137, + 139 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 137, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1498:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 139, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1510:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 145, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1524:12:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1497:39:0" + }, + "146": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "147": { + "certora_contract_name": "Middle", + "constant": false, + "id": 147, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1546:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "148": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "149": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "150": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "151": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "152": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "153": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "154": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1560:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "155": { + "assignments": [ + 147 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 147, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1546:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1560:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1546:39:0" + }, + "156": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "157": { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "158": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "159": { + "assignments": [ + 157 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 159, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1600:13:0" + }, + "160": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "161": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "162": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1615:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "163": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "164": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "165": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "1622:3:0" + }, + "166": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "167": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "168": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "169": { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + }, + "170": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + }, + "171": { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + "172": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "173": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "174": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "175": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "176": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "177": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "178": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "179": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + }, + "180": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1627:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + } + ] + }, + "181": { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1627:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1615:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 181, + "initializationExpression": { + "assignments": [ + 157 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 159, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1600:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "1622:3:0" + }, + "nodeType": "ForStatement", + "src": "1595:148:0" + }, + "182": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "183": { + "certora_contract_name": "Middle", + "constant": false, + "id": 183, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1752:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "184": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "185": { + "assignments": [ + 183 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 183, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1752:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 185, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1752:13:0" + }, + "186": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "187": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "188": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1782:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "189": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "190": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "191": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + }, + "192": { + "certora_contract_name": "Middle", + "id": 192, + "nodeType": "Block", + "src": "1789:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + } + ] + }, + "193": { + "body": { + "certora_contract_name": "Middle", + "id": 192, + "nodeType": "Block", + "src": "1789:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1782:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 193, + "nodeType": "WhileStatement", + "src": "1775:42:0" + }, + "194": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "195": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "196": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + }, + "197": { + "certora_contract_name": "Middle", + "id": 197, + "nodeType": "Block", + "src": "1829:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + } + ] + }, + "198": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "199": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "200": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1865:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "201": { + "body": { + "certora_contract_name": "Middle", + "id": 197, + "nodeType": "Block", + "src": "1829:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1865:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "DoWhileStatement", + "src": "1826:46:0" + }, + "202": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "203": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "204": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "205": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "206": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "207": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "208": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "209": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "210": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "211": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "212": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "213": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1881:41:0" + }, + "214": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "215": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "216": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "217": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "218": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1932:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "219": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1932:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1932:24:0" + }, + "220": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "221": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "222": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "223": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "224": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "225": { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "EmitStatement", + "src": "1966:28:0" + }, + "226": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 226, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "2011:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "227": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 226, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "2011:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 128, + "id": 227, + "nodeType": "Return", + "src": "2004:10:0" + }, + "228": { + "certora_contract_name": "Middle", + "id": 228, + "nodeType": "Block", + "src": "1444:577:0", + "statements": [ + { + "assignments": [ + 130 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 130, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1454:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 134, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1470:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1454:33:0" + }, + { + "assignments": [ + 137, + 139 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 137, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1498:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 139, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1510:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 145, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1524:12:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1497:39:0" + }, + { + "assignments": [ + 147 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 147, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1546:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1560:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1546:39:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1627:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1615:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 181, + "initializationExpression": { + "assignments": [ + 157 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 159, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1600:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "1622:3:0" + }, + "nodeType": "ForStatement", + "src": "1595:148:0" + }, + { + "assignments": [ + 183 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 183, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1752:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 185, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1752:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 192, + "nodeType": "Block", + "src": "1789:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1782:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 193, + "nodeType": "WhileStatement", + "src": "1775:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 197, + "nodeType": "Block", + "src": "1829:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1865:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "DoWhileStatement", + "src": "1826:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1881:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1932:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1932:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "EmitStatement", + "src": "1966:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 226, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "2011:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 128, + "id": 227, + "nodeType": "Return", + "src": "2004:10:0" + } + ] + }, + "229": { + "body": { + "certora_contract_name": "Middle", + "id": 228, + "nodeType": "Block", + "src": "1444:577:0", + "statements": [ + { + "assignments": [ + 130 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 130, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1454:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 134, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1470:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1454:33:0" + }, + { + "assignments": [ + 137, + 139 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 137, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1498:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 139, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1510:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 145, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1524:12:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1497:39:0" + }, + { + "assignments": [ + 147 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 147, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1546:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1560:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1546:39:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1627:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1615:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 181, + "initializationExpression": { + "assignments": [ + 157 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 159, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1600:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "1622:3:0" + }, + "nodeType": "ForStatement", + "src": "1595:148:0" + }, + { + "assignments": [ + 183 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 183, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1752:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 185, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1752:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 192, + "nodeType": "Block", + "src": "1789:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1782:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 193, + "nodeType": "WhileStatement", + "src": "1775:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 197, + "nodeType": "Block", + "src": "1829:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1865:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "DoWhileStatement", + "src": "1826:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1881:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1932:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1932:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "EmitStatement", + "src": "1966:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 226, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "2011:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 128, + "id": 227, + "nodeType": "Return", + "src": "2004:10:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": "@notice function NatSpec, 0.5 string form", + "id": 229, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Middle", + "id": 125, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 124, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1415:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1415:10:0" + } + ], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 123, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:2:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 128, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1435:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1434:9:0" + }, + "scope": 241, + "src": "1391:630:0", + "stateMutability": "nonpayable", + "superFunction": 68, + "visibility": "public" + }, + "230": { + "certora_contract_name": "Middle", + "id": 230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "231": { + "certora_contract_name": "Middle", + "constant": false, + "id": 231, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2042:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + "232": { + "certora_contract_name": "Middle", + "id": 232, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 231, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2042:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2041:16:0" + }, + "233": { + "certora_contract_name": "Middle", + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2079:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "234": { + "certora_contract_name": "Middle", + "constant": false, + "id": 234, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2079:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2079:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "235": { + "certora_contract_name": "Middle", + "id": 235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2093:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "236": { + "certora_contract_name": "Middle", + "constant": false, + "id": 236, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2093:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2093:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + "237": { + "certora_contract_name": "Middle", + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 234, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2079:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2079:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 236, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2093:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2093:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2078:28:0" + }, + "238": { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2160:6:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2222:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2264:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2140:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2374:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2338:6:0", + "valueSize": 1 + } + } + ], + "id": 238, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", + "src": "2117:511:0" + }, + "239": { + "certora_contract_name": "Middle", + "id": 239, + "nodeType": "Block", + "src": "2107:527:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2160:6:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2222:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2264:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2140:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2374:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2338:6:0", + "valueSize": 1 + } + } + ], + "id": 238, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", + "src": "2117:511:0" + } + ] + }, + "240": { + "body": { + "certora_contract_name": "Middle", + "id": 239, + "nodeType": "Block", + "src": "2107:527:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2160:6:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2222:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2264:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2140:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2374:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2338:6:0", + "valueSize": 1 + } + } + ], + "id": 238, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", + "src": "2117:511:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 240, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 232, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 231, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2042:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2041:16:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 234, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2079:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2079:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 236, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2093:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2093:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2078:28:0" + }, + "scope": 241, + "src": "2027:607:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "241": { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 96, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "1095:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Middle", + "id": 97, + "nodeType": "InheritanceSpecifier", + "src": "1095:4:0" + } + ], + "contractDependencies": [ + 73 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 241, + "linearizedBaseContracts": [ + 241, + 73 + ], + "name": "Middle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Middle.Slot", + "certora_contract_name": "Middle", + "id": 102, + "members": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 99, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1128:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 98, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1128:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 101, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1148:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 100, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1148:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Slot", + "nodeType": "StructDefinition", + "scope": 241, + "src": "1106:59:0", + "visibility": "public" + }, + { + "canonicalName": "Middle.Phase", + "certora_contract_name": "Middle", + "id": 106, + "members": [ + { + "certora_contract_name": "Middle", + "id": 103, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1182:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 104, + "name": "Live", + "nodeType": "EnumValue", + "src": "1188:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 105, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1194:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "1170:29:0" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 110, + "name": "slots", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1205:39:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 109, + "keyType": { + "certora_contract_name": "Middle", + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1205:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 108, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1224:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 112, + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1250:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 111, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 106, + "src": "1250:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 115, + "name": "series", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1274:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Middle", + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 114, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1274:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 121, + "nodeType": "Block", + "src": "1333:2:0", + "statements": [] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 122, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 119, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 117, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1325:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1325:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1315:2:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 120, + "nodeType": "ParameterList", + "parameters": [], + "src": "1333:0:0" + }, + "scope": 241, + "src": "1304:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 228, + "nodeType": "Block", + "src": "1444:577:0", + "statements": [ + { + "assignments": [ + 130 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 130, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1454:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 134, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1470:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1454:33:0" + }, + { + "assignments": [ + 137, + 139 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 137, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1498:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 139, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1510:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 145, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1524:12:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1497:39:0" + }, + { + "assignments": [ + 147 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 147, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1546:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1560:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1546:39:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1627:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1615:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 181, + "initializationExpression": { + "assignments": [ + 157 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 159, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1600:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "1622:3:0" + }, + "nodeType": "ForStatement", + "src": "1595:148:0" + }, + { + "assignments": [ + 183 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 183, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1752:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 185, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1752:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 192, + "nodeType": "Block", + "src": "1789:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1782:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 193, + "nodeType": "WhileStatement", + "src": "1775:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 197, + "nodeType": "Block", + "src": "1829:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1865:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "DoWhileStatement", + "src": "1826:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1881:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1932:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1932:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "EmitStatement", + "src": "1966:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 226, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "2011:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 128, + "id": 227, + "nodeType": "Return", + "src": "2004:10:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": "@notice function NatSpec, 0.5 string form", + "id": 229, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Middle", + "id": 125, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 124, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1415:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1415:10:0" + } + ], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 123, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:2:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 128, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1435:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1434:9:0" + }, + "scope": 241, + "src": "1391:630:0", + "stateMutability": "nonpayable", + "superFunction": 68, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 239, + "nodeType": "Block", + "src": "2107:527:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2160:6:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2222:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2264:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2140:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2374:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2338:6:0", + "valueSize": 1 + } + } + ], + "id": 238, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", + "src": "2117:511:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 240, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 232, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 231, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2042:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2041:16:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 234, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2079:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2079:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 236, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2093:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2093:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2078:28:0" + }, + "scope": 241, + "src": "2027:607:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 304, + "src": "1076:1560:0" + }, + "242": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 242, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8, + "src": "2658:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$8", + "typeString": "contract IToken" + } + }, + "243": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 242, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8, + "src": "2658:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$8", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 243, + "nodeType": "InheritanceSpecifier", + "src": "2658:6:0" + }, + "244": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 244, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "2666:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$95", + "typeString": "contract Left" + } + }, + "245": { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 244, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "2666:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$95", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 245, + "nodeType": "InheritanceSpecifier", + "src": "2666:4:0" + }, + "246": { + "certora_contract_name": "Diamond", + "id": 246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2677:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "247": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 247, + "name": "supply", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2677:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2677:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + "248": { + "certora_contract_name": "Diamond", + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "2717:2:0" + }, + "249": { + "certora_contract_name": "Diamond", + "id": 249, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:0:0" + }, + "250": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "251": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "252": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "253": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "254": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "255": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "256": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "257": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "258": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2737:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "259": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2737:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2737:34:0" + }, + "260": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "261": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2781:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "262": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2781:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "2781:16:0" + }, + "263": { + "certora_contract_name": "Diamond", + "id": 263, + "nodeType": "Block", + "src": "2727:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2737:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2737:34:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2781:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "2781:16:0" + } + ] + }, + "264": { + "body": { + "certora_contract_name": "Diamond", + "id": 263, + "nodeType": "Block", + "src": "2727:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2737:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2737:34:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2781:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "2781:16:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 264, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "2717:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 249, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:0:0" + }, + "scope": 303, + "src": "2706:98:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "265": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "ParameterList", + "parameters": [], + "src": "2830:2:0" + }, + "266": { + "certora_contract_name": "Diamond", + "id": 266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "267": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 272, + "src": "2856:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + "268": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 272, + "src": "2856:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2855:9:0" + }, + "269": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 269, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2882:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "270": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 269, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2882:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 268, + "id": 270, + "nodeType": "Return", + "src": "2875:13:0" + }, + "271": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "Block", + "src": "2865:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 269, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2882:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 268, + "id": 270, + "nodeType": "Return", + "src": "2875:13:0" + } + ] + }, + "272": { + "body": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "Block", + "src": "2865:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 269, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2882:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 268, + "id": 270, + "nodeType": "Return", + "src": "2875:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 272, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "ParameterList", + "parameters": [], + "src": "2830:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 272, + "src": "2856:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2855:9:0" + }, + "scope": 303, + "src": "2810:85:0", + "stateMutability": "view", + "superFunction": 7, + "visibility": "external" + }, + "273": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "ParameterList", + "parameters": [], + "src": "2924:2:0" + }, + "274": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [], + "src": "2936:0:0" + }, + "275": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "276": { + "certora_contract_name": "Diamond", + "constant": false, + "id": 276, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 297, + "src": "2946:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + "277": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "278": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "279": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "280": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "281": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "282": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "283": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + }, + "284": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "285": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2966:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "286": { + "assignments": [ + 276 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 276, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 297, + "src": "2946:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 286, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2966:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:62:0" + }, + "287": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "288": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "289": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "290": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "291": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + }, + "292": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "293": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "294": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "295": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3018:44:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "296": { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3018:44:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "3018:44:0" + }, + "297": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "Block", + "src": "2936:133:0", + "statements": [ + { + "assignments": [ + 276 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 276, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 297, + "src": "2946:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 286, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2966:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3018:44:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "3018:44:0" + } + ] + }, + "298": { + "body": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "Block", + "src": "2936:133:0", + "statements": [ + { + "assignments": [ + 276 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 276, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 297, + "src": "2946:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 286, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2966:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3018:44:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "3018:44:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transformCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "ParameterList", + "parameters": [], + "src": "2924:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [], + "src": "2936:0:0" + }, + "scope": 303, + "src": "2901:168:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "299": { + "certora_contract_name": "Diamond", + "id": 299, + "nodeType": "ParameterList", + "parameters": [], + "src": "3083:2:0" + }, + "300": { + "certora_contract_name": "Diamond", + "id": 300, + "nodeType": "ParameterList", + "parameters": [], + "src": "3103:0:0" + }, + "301": { + "certora_contract_name": "Diamond", + "id": 301, + "nodeType": "Block", + "src": "3103:2:0", + "statements": [] + }, + "302": { + "body": { + "certora_contract_name": "Diamond", + "id": 301, + "nodeType": "Block", + "src": "3103:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 302, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 299, + "nodeType": "ParameterList", + "parameters": [], + "src": "3083:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 300, + "nodeType": "ParameterList", + "parameters": [], + "src": "3103:0:0" + }, + "scope": 303, + "src": "3075:30:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + "303": { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 242, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8, + "src": "2658:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$8", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 243, + "nodeType": "InheritanceSpecifier", + "src": "2658:6:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 244, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "2666:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$95", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 245, + "nodeType": "InheritanceSpecifier", + "src": "2666:4:0" + } + ], + "contractDependencies": [ + 8, + 73, + 95 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 303, + "linearizedBaseContracts": [ + 303, + 95, + 73, + 8 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 247, + "name": "supply", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2677:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2677:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 263, + "nodeType": "Block", + "src": "2727:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2737:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2737:34:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2781:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "2781:16:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 264, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "2717:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 249, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:0:0" + }, + "scope": 303, + "src": "2706:98:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "Block", + "src": "2865:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 269, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2882:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 268, + "id": 270, + "nodeType": "Return", + "src": "2875:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 272, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "ParameterList", + "parameters": [], + "src": "2830:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 272, + "src": "2856:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2855:9:0" + }, + "scope": 303, + "src": "2810:85:0", + "stateMutability": "view", + "superFunction": 7, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "Block", + "src": "2936:133:0", + "statements": [ + { + "assignments": [ + 276 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 276, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 297, + "src": "2946:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 286, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2966:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3018:44:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "3018:44:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transformCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "ParameterList", + "parameters": [], + "src": "2924:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [], + "src": "2936:0:0" + }, + "scope": 303, + "src": "2901:168:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 301, + "nodeType": "Block", + "src": "3103:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 302, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 299, + "nodeType": "ParameterList", + "parameters": [], + "src": "3083:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 300, + "nodeType": "ParameterList", + "parameters": [], + "src": "3103:0:0" + }, + "scope": 303, + "src": "3075:30:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 304, + "src": "2638:469:0" + }, + "304": { + "absolutePath": "breadth_05.sol", + "exportedSymbols": { + "Base": [ + 73 + ], + "Diamond": [ + 303 + ], + "IToken": [ + 8 + ], + "Left": [ + 95 + ], + "MathLib": [ + 23 + ], + "Middle": [ + 241 + ] + }, + "id": 304, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "id": 2, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "25:33:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title Interface exercising 0.5-era AST shapes", + "fullyImplemented": false, + "id": 8, + "linearizedBaseContracts": [ + 8 + ], + "name": "IToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "certora_contract_name": "IToken", + "documentation": null, + "id": 7, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "IToken", + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:2:0" + }, + "returnParameters": { + "certora_contract_name": "IToken", + "id": 6, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "IToken", + "constant": false, + "id": 5, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "180:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "IToken", + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "certora_contract_name": "IToken", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "179:9:0" + }, + "scope": 8, + "src": "134:55:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 304, + "src": "111:80:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 23, + "linearizedBaseContracts": [ + 23 + ], + "name": "MathLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "MathLib", + "id": 21, + "nodeType": "Block", + "src": "282:29:0", + "statements": [ + { + "certora_contract_name": "MathLib", + "expression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "commonType": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 17, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "299:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "MathLib", + "id": 18, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "303:1:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "299:5:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 20, + "nodeType": "Return", + "src": "292:12:0" + } + ] + }, + "certora_contract_name": "MathLib", + "documentation": null, + "id": 22, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "MathLib", + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 10, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "228:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 9, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 12, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "239:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "239:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:22:0" + }, + "returnParameters": { + "certora_contract_name": "MathLib", + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "MathLib", + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "273:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "MathLib", + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:0", + "typeDescriptions": { + "certora_contract_name": "MathLib", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "272:9:0" + }, + "scope": 23, + "src": "215:96:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 304, + "src": "193:120:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@notice Contract-level NatSpec: plain-string `documentation` in 0.5 dumps", + "fullyImplemented": false, + "id": 73, + "linearizedBaseContracts": [ + 73 + ], + "name": "Base", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 25, + "name": "stored", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "437:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 24, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": true, + "id": 28, + "name": "LIMIT", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "464:35:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 26, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "464:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "313030", + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "496:3:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "visibility": "public" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 30, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "505:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "505:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "certora_contract_name": "Base", + "documentation": null, + "id": 36, + "name": "Stored", + "nodeType": "EventDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 35, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 32, + "indexed": true, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "547:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Base", + "constant": false, + "id": 34, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 36, + "src": "568:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "568:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "546:36:0" + }, + "src": "534:49:0" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 50, + "nodeType": "Block", + "src": "665:61:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 43, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 41, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "675:6:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 42, + "name": "initial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "684:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "675:16:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44, + "nodeType": "ExpressionStatement", + "src": "675:16:0" + }, + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "701:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "709:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "709:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "701:18:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 49, + "nodeType": "ExpressionStatement", + "src": "701:18:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": "@param initial the seed value", + "id": 51, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 38, + "name": "initial", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "639:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 37, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "639:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "638:17:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 40, + "nodeType": "ParameterList", + "parameters": [], + "src": "665:0:0" + }, + "scope": 73, + "src": "627:99:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 62, + "nodeType": "Block", + "src": "753:69:0", + "statements": [ + { + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Base", + "commonType": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 54, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "771:3:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "771:10:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Base", + "id": 56, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "785:5:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "771:19:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Base", + "hexValue": "6e6f74206f776e6572", + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:11:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + }, + "value": "not owner" + } + ], + "certora_contract_name": "Base", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Base", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "certora_contract_name": "Base", + "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", + "typeString": "literal_string \"not owner\"" + } + ], + "certora_contract_name": "Base", + "id": 53, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 321, + 322 + ], + "referencedDeclaration": 322, + "src": "763:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "763:41:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 60, + "nodeType": "ExpressionStatement", + "src": "763:41:0" + }, + { + "certora_contract_name": "Base", + "id": 61, + "nodeType": "PlaceholderStatement", + "src": "814:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 63, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "750:2:0" + }, + "src": "732:90:0", + "visibility": "internal" + }, + { + "body": null, + "certora_contract_name": "Base", + "documentation": null, + "id": 68, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 64, + "nodeType": "ParameterList", + "parameters": [], + "src": "842:2:0" + }, + "returnParameters": { + "certora_contract_name": "Base", + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Base", + "constant": false, + "id": 66, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "861:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Base", + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:0", + "typeDescriptions": { + "certora_contract_name": "Base", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:9:0" + }, + "scope": 73, + "src": "828:42:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Base", + "id": 71, + "nodeType": "Block", + "src": "898:18:0", + "statements": [ + { + "certora_contract_name": "Base", + "id": 70, + "nodeType": "PlaceholderStatement", + "src": "908:1:0" + } + ] + }, + "certora_contract_name": "Base", + "documentation": null, + "id": 72, + "name": "virtualish", + "nodeType": "ModifierDefinition", + "parameters": { + "certora_contract_name": "Base", + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:2:0" + }, + "src": "876:40:0", + "visibility": "internal" + } + ], + "scope": 304, + "src": "393:525:0" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Left", + "contractScope": null, + "id": 74, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "937:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Left", + "id": 75, + "nodeType": "InheritanceSpecifier", + "src": "937:4:0" + } + ], + "contractDependencies": [ + 73 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 95, + "linearizedBaseContracts": [ + 95, + 73 + ], + "name": "Left", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "certora_contract_name": "Left", + "id": 81, + "nodeType": "Block", + "src": "977:2:0", + "statements": [] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 82, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Left", + "id": 79, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 77, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "969:4:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "969:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 76, + "nodeType": "ParameterList", + "parameters": [], + "src": "959:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 80, + "nodeType": "ParameterList", + "parameters": [], + "src": "977:0:0" + }, + "scope": 95, + "src": "948:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Left", + "id": 93, + "nodeType": "Block", + "src": "1038:34:0", + "statements": [ + { + "certora_contract_name": "Left", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "commonType": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 89, + "name": "stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1055:6:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Left", + "hexValue": "31", + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1064:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1055:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "1048:17:0" + } + ] + }, + "certora_contract_name": "Left", + "documentation": null, + "id": 94, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Left", + "id": 85, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Left", + "id": 84, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1009:10:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1009:10:0" + } + ], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Left", + "id": 83, + "nodeType": "ParameterList", + "parameters": [], + "src": "999:2:0" + }, + "returnParameters": { + "certora_contract_name": "Left", + "id": 88, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Left", + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1029:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Left", + "id": 86, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1029:7:0", + "typeDescriptions": { + "certora_contract_name": "Left", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1028:9:0" + }, + "scope": 95, + "src": "985:87:0", + "stateMutability": "nonpayable", + "superFunction": 68, + "visibility": "public" + } + ], + "scope": 304, + "src": "920:154:0" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 96, + "name": "Base", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 73, + "src": "1095:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_contract$_Base_$73", + "typeString": "contract Base" + } + }, + "certora_contract_name": "Middle", + "id": 97, + "nodeType": "InheritanceSpecifier", + "src": "1095:4:0" + } + ], + "contractDependencies": [ + 73 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 241, + "linearizedBaseContracts": [ + 241, + 73 + ], + "name": "Middle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Middle.Slot", + "certora_contract_name": "Middle", + "id": 102, + "members": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 99, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1128:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 98, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1128:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 101, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 102, + "src": "1148:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 100, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1148:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Slot", + "nodeType": "StructDefinition", + "scope": 241, + "src": "1106:59:0", + "visibility": "public" + }, + { + "canonicalName": "Middle.Phase", + "certora_contract_name": "Middle", + "id": 106, + "members": [ + { + "certora_contract_name": "Middle", + "id": 103, + "name": "Idle", + "nodeType": "EnumValue", + "src": "1182:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 104, + "name": "Live", + "nodeType": "EnumValue", + "src": "1188:4:0" + }, + { + "certora_contract_name": "Middle", + "id": 105, + "name": "Dead", + "nodeType": "EnumValue", + "src": "1194:4:0" + } + ], + "name": "Phase", + "nodeType": "EnumDefinition", + "src": "1170:29:0" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 110, + "name": "slots", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1205:39:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 109, + "keyType": { + "certora_contract_name": "Middle", + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1205:24:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot)" + }, + "valueType": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 108, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1224:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 112, + "name": "phase", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1250:18:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 111, + "name": "Phase", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 106, + "src": "1250:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "value": null, + "visibility": "public" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 115, + "name": "series", + "nodeType": "VariableDeclaration", + "scope": 241, + "src": "1274:23:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Middle", + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Middle", + "id": 114, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1274:9:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 121, + "nodeType": "Block", + "src": "1333:2:0", + "statements": [] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 122, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "certora_contract_name": "Middle", + "id": 119, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 117, + "name": "Base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1325:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_Base_$73_$", + "typeString": "type(contract Base)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1325:7:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1315:2:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 120, + "nodeType": "ParameterList", + "parameters": [], + "src": "1333:0:0" + }, + "scope": 241, + "src": "1304:31:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 228, + "nodeType": "Block", + "src": "1444:577:0", + "statements": [ + { + "assignments": [ + 130 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 130, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1454:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot" + }, + "typeName": { + "certora_contract_name": "Middle", + "contractScope": null, + "id": 129, + "name": "Slot", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 102, + "src": "1454:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", + "typeString": "struct Middle.Slot" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 131, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1470:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 134, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1476:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1476:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1470:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1454:33:0" + }, + { + "assignments": [ + 137, + 139 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 137, + "name": "lo", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1498:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 136, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1498:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 139, + "name": "hi", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1510:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 138, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "1510:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 145, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "components": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 140, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1525:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lo", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "1525:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 142, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1531:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", + "typeString": "struct Middle.Slot memory" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "hi", + "nodeType": "MemberAccess", + "referencedDeclaration": 101, + "src": "1531:4:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1524:12:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1497:39:0" + }, + { + "assignments": [ + 147 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 147, + "name": "acc", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1546:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 149, + "name": "lo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "1568:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1560:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 152, + "name": "hi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1582:2:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + ], + "certora_contract_name": "Middle", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1560:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1546:39:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 180, + "nodeType": "Block", + "src": "1627:116:0", + "statements": [ + { + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1645:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "31", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1650:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1645:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 171, + "nodeType": "IfStatement", + "src": "1641:53:0", + "trueBody": { + "certora_contract_name": "Middle", + "id": 170, + "nodeType": "Block", + "src": "1653:41:0", + "statements": [ + { + "certora_contract_name": "Middle", + "id": 169, + "nodeType": "Continue", + "src": "1671:8:0" + } + ] + } + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 172, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1707:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 175, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1725:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1730:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 173, + "name": "MathLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "1713:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", + "typeString": "type(library MathLib)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "1713:11:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1707:25:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 179, + "nodeType": "ExpressionStatement", + "src": "1707:25:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 160, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1615:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "33", + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1619:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1615:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 181, + "initializationExpression": { + "assignments": [ + 157 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 157, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 181, + "src": "1600:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1600:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 159, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1600:13:0" + }, + "loopExpression": { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1622:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 163, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1622:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "1622:3:0" + }, + "nodeType": "ForStatement", + "src": "1595:148:0" + }, + { + "assignments": [ + 183 + ], + "certora_contract_name": "Middle", + "declarations": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 183, + "name": "j", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "1752:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 185, + "initialValue": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1752:13:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 192, + "nodeType": "Block", + "src": "1789:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1803:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 189, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1803:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "1803:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 186, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1782:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1786:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1782:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 193, + "nodeType": "WhileStatement", + "src": "1775:42:0" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 197, + "nodeType": "Block", + "src": "1829:28:0", + "statements": [ + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1843:3:0", + "subExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 194, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1843:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "1843:3:0" + } + ] + }, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 198, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "1865:1:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "30", + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1865:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "DoWhileStatement", + "src": "1826:46:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 202, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1881:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "condition": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 203, + "name": "phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "1887:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 204, + "name": "Phase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1896:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", + "typeString": "type(enum Middle.Phase)" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Live", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1896:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_enum$_Phase_$106", + "typeString": "enum Middle.Phase" + } + }, + "src": "1887:19:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 210, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1919:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1887:35:0", + "trueExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "commonType": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 207, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1909:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "hexValue": "32", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1909:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:41:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1881:41:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1932:24:0", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 214, + "name": "slots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "1939:5:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", + "typeString": "mapping(address => struct Middle.Slot storage ref)" + } + }, + "certora_contract_name": "Middle", + "id": 217, + "indexExpression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1945:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1939:17:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_struct$_Slot_$102_storage", + "typeString": "struct Middle.Slot storage ref" + } + }, + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1932:24:0" + }, + { + "certora_contract_name": "Middle", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1978:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1978:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 223, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1990:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "certora_contract_name": "Middle", + "id": 220, + "name": "Stored", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1971:6:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:23:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "EmitStatement", + "src": "1966:28:0" + }, + { + "certora_contract_name": "Middle", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 226, + "name": "acc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "2011:3:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 128, + "id": 227, + "nodeType": "Return", + "src": "2004:10:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": "@notice function NatSpec, 0.5 string form", + "id": 229, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "certora_contract_name": "Middle", + "id": 125, + "modifierName": { + "argumentTypes": null, + "certora_contract_name": "Middle", + "id": 124, + "name": "virtualish", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1415:10:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1415:10:0" + } + ], + "name": "touch", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 123, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:2:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 128, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1435:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1434:9:0" + }, + "scope": 241, + "src": "1391:630:0", + "stateMutability": "nonpayable", + "superFunction": 68, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Middle", + "id": 239, + "nodeType": "Block", + "src": "2107:527:0", + "statements": [ + { + "certora_contract_name": "Middle", + "externalReferences": [ + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2160:6:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2222:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2264:4:0", + "valueSize": 1 + } + }, + { + "size": { + "declaration": 234, + "isOffset": false, + "isSlot": false, + "src": "2140:4:0", + "valueSize": 1 + } + }, + { + "head": { + "declaration": 236, + "isOffset": false, + "isSlot": false, + "src": "2374:4:0", + "valueSize": 1 + } + }, + { + "target": { + "declaration": 231, + "isOffset": false, + "isSlot": false, + "src": "2338:6:0", + "valueSize": 1 + } + } + ], + "id": 238, + "nodeType": "InlineAssembly", + "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", + "src": "2117:511:0" + } + ] + }, + "certora_contract_name": "Middle", + "documentation": null, + "id": 240, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "probe", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Middle", + "id": 232, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 231, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2042:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2041:16:0" + }, + "returnParameters": { + "certora_contract_name": "Middle", + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Middle", + "constant": false, + "id": 234, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2079:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2079:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "certora_contract_name": "Middle", + "constant": false, + "id": 236, + "name": "head", + "nodeType": "VariableDeclaration", + "scope": 240, + "src": "2093:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "certora_contract_name": "Middle", + "id": 235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2093:7:0", + "typeDescriptions": { + "certora_contract_name": "Middle", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2078:28:0" + }, + "scope": 241, + "src": "2027:607:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 304, + "src": "1076:1560:0" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 242, + "name": "IToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8, + "src": "2658:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_IToken_$8", + "typeString": "contract IToken" + } + }, + "certora_contract_name": "Diamond", + "id": 243, + "nodeType": "InheritanceSpecifier", + "src": "2658:6:0" + }, + { + "arguments": null, + "baseName": { + "certora_contract_name": "Diamond", + "contractScope": null, + "id": 244, + "name": "Left", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 95, + "src": "2666:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Left_$95", + "typeString": "contract Left" + } + }, + "certora_contract_name": "Diamond", + "id": 245, + "nodeType": "InheritanceSpecifier", + "src": "2666:4:0" + } + ], + "contractDependencies": [ + 8, + 73, + 95 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 303, + "linearizedBaseContracts": [ + 303, + 95, + 73, + 8 + ], + "name": "Diamond", + "nodeType": "ContractDefinition", + "nodes": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 247, + "name": "supply", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "2677:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2677:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 263, + "nodeType": "Block", + "src": "2727:77:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 250, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2737:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "31", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "certora_contract_name": "Diamond", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2747:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "certora_contract_name": "Diamond", + "id": 251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2751:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "certora_contract_name": "Diamond", + "id": 252, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2751:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2747:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + } + ], + "id": 256, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2746:18:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2746:25:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2737:34:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2737:34:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [], + "certora_contract_name": "Diamond", + "id": 260, + "name": "transformCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2781:14:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2781:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "2781:16:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 264, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "2717:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 249, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:0:0" + }, + "scope": 303, + "src": "2706:98:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 271, + "nodeType": "Block", + "src": "2865:30:0", + "statements": [ + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 269, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "2882:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 268, + "id": 270, + "nodeType": "Return", + "src": "2875:13:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 272, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 265, + "nodeType": "ParameterList", + "parameters": [], + "src": "2830:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 268, + "nodeType": "ParameterList", + "parameters": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 272, + "src": "2856:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2855:9:0" + }, + "scope": 303, + "src": "2810:85:0", + "stateMutability": "view", + "superFunction": 7, + "visibility": "external" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 297, + "nodeType": "Block", + "src": "2936:133:0", + "statements": [ + { + "assignments": [ + 276 + ], + "certora_contract_name": "Diamond", + "declarations": [ + { + "certora_contract_name": "Diamond", + "constant": false, + "id": 276, + "name": "blob", + "nodeType": "VariableDeclaration", + "scope": 297, + "src": "2946:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "certora_contract_name": "Diamond", + "id": 275, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2946:5:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 286, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "hexValue": "37", + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:0", + "subdenomination": null, + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + } + ], + "certora_contract_name": "Diamond", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2983:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2983:9:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 283, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3002:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2994:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2994:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2966:3:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2966:16:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2966:42:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:62:0" + }, + { + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 287, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "3018:6:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "commonType": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 288, + "name": "blob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "3027:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3027:11:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "certora_contract_name": "Diamond", + "id": 291, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3049:4:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + } + ], + "certora_contract_name": "Diamond", + "expression": { + "argumentTypes": [ + { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_contract$_Diamond_$303", + "typeString": "contract Diamond" + } + ], + "certora_contract_name": "Diamond", + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3041:7:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3041:13:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3041:21:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3027:35:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3018:44:0", + "typeDescriptions": { + "certora_contract_name": "Diamond", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "3018:44:0" + } + ] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transformCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 273, + "nodeType": "ParameterList", + "parameters": [], + "src": "2924:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 274, + "nodeType": "ParameterList", + "parameters": [], + "src": "2936:0:0" + }, + "scope": 303, + "src": "2901:168:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "certora_contract_name": "Diamond", + "id": 301, + "nodeType": "Block", + "src": "3103:2:0", + "statements": [] + }, + "certora_contract_name": "Diamond", + "documentation": null, + "id": 302, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "certora_contract_name": "Diamond", + "id": 299, + "nodeType": "ParameterList", + "parameters": [], + "src": "3083:2:0" + }, + "returnParameters": { + "certora_contract_name": "Diamond", + "id": 300, + "nodeType": "ParameterList", + "parameters": [], + "src": "3103:0:0" + }, + "scope": 303, + "src": "3075:30:0", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 304, + "src": "2638:469:0" + } + ], + "src": "0:3108:0" + } + } + } +} diff --git a/tests/solidity_ast/test_consumer_migration.py b/tests/solidity_ast/test_consumer_migration.py index b40195f..5a9227e 100644 --- a/tests/solidity_ast/test_consumer_migration.py +++ b/tests/solidity_ast/test_consumer_migration.py @@ -20,7 +20,7 @@ from certora_autosetup.utils.scope import Scope FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" -SOLC_FIXTURES = ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] +SOLC_FIXTURES = ["solc_0_4_26", "solc_0_5_17", "solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] def _load_raw(name: str) -> dict[str, Any]: diff --git a/tests/solidity_ast/test_fixture_parsing.py b/tests/solidity_ast/test_fixture_parsing.py index fa5c4aa..184d3ba 100644 --- a/tests/solidity_ast/test_fixture_parsing.py +++ b/tests/solidity_ast/test_fixture_parsing.py @@ -24,7 +24,11 @@ ) FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" -SOLC_FIXTURES = ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] +# 0.4/0.5 are below the >= 0.6 floor but must still parse fully typed (lenient-older +# policy); version-specific assertions below gate on this split. +LEGACY_FIXTURES = ["solc_0_4_26", "solc_0_5_17"] +MODERN_FIXTURES = ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] +SOLC_FIXTURES = LEGACY_FIXTURES + MODERN_FIXTURES @pytest.fixture(scope="module", params=SOLC_FIXTURES) @@ -76,7 +80,7 @@ def test_certora_contract_name_stamping(dump: AstDump) -> None: assert all(isinstance(n.certora_contract_name, str) for n in stamped) -def test_inheritance_semantics(dump: AstDump) -> None: +def test_inheritance_semantics(dump: AstDump, request: pytest.FixtureRequest) -> None: contracts = { c.name: c for _, _, root in dump.iter_parsed_roots() @@ -89,7 +93,11 @@ def test_inheritance_semantics(dump: AstDump) -> None: assert set(linearized[1:]) >= {"Base"} assert any(c.contractKind == "interface" for c in contracts.values()) assert any(c.contractKind == "library" for c in contracts.values()) - assert any(c.abstract for c in contracts.values()) + if "dump" in request.fixturenames and request.node.callspec.params["dump"] in MODERN_FIXTURES: + # the `abstract` flag only exists from solc 0.6 + assert any(c.abstract for c in contracts.values()) + else: + assert not contracts["Base"].fullyImplemented def test_src_location_points_at_source(dump: AstDump) -> None: @@ -101,14 +109,20 @@ def test_src_location_points_at_source(dump: AstDump) -> None: assert snippet.split()[0] in (b"contract", b"abstract", b"interface", b"library") -def test_yul_present(dump: AstDump) -> None: +def test_yul_present(dump: AstDump, request: pytest.FixtureRequest) -> None: assemblies = [ a for _, _, root in dump.iter_parsed_roots() for a in find_all(root, InlineAssembly) ] assert assemblies for assembly in assemblies: - assert isinstance(assembly.AST, YulBlock) - assert assembly.AST.statements + if request.node.callspec.params["dump"] in MODERN_FIXTURES: + assert isinstance(assembly.AST, YulBlock) + assert assembly.AST.statements + else: + # the <= 0.5 dialect: no Yul tree, assembly source text + keyed refs + assert assembly.AST is None + assert assembly.operations + assert all(isinstance(r, dict) for r in assembly.externalReferences) def test_08_specific_nodes_present() -> None: diff --git a/tests/solidity_ast/test_lenient_parsing.py b/tests/solidity_ast/test_lenient_parsing.py new file mode 100644 index 0000000..1c7d725 --- /dev/null +++ b/tests/solidity_ast/test_lenient_parsing.py @@ -0,0 +1,42 @@ +"""Corpus-discovered leniency cases: shapes real solc emits that the vendored schema +does not account for (see LENIENT_REQUIRED / DELIBERATELY_OPEN in the conformance +test). Each must parse typed — not as UnknownNode, not as a parse failure — and +round-trip without inventing the absent fields.""" + +from certora_autosetup.solidity_ast import ContractDefinition, EventDefinition, Return, SourceUnit + + +def test_pre_06_contract_without_abstract_parses() -> None: + contract = ContractDefinition.model_validate( + { + "id": 1, "src": "0:10:0", "nodeType": "ContractDefinition", + "name": "C", "baseContracts": [], "contractDependencies": [], + "contractKind": "contract", "fullyImplemented": True, + "linearizedBaseContracts": [1], "nodes": [], "scope": 0, + } + ) + assert contract.abstract is False + assert "abstract" not in contract.model_dump(exclude_unset=True) + + +def test_return_inside_modifier_body_parses() -> None: + ret = Return.model_validate({"id": 2, "src": "0:7:0", "nodeType": "Return"}) + assert ret.functionReturnParameters is None + assert "functionReturnParameters" not in ret.model_dump(exclude_unset=True) + + +def test_file_level_event_definition_is_typed() -> None: + unit = SourceUnit.model_validate( + { + "id": 10, "src": "0:50:0", "nodeType": "SourceUnit", + "absolutePath": "a.sol", "exportedSymbols": {}, + "nodes": [{ + "id": 11, "src": "0:20:0", "nodeType": "EventDefinition", + "name": "E", "anonymous": False, + "parameters": {"id": 12, "src": "0:0:0", "nodeType": "ParameterList", + "parameters": []}, + }], + } + ) + [event] = unit.nodes + assert isinstance(event, EventDefinition) diff --git a/tests/solidity_ast/test_roundtrip.py b/tests/solidity_ast/test_roundtrip.py index f552dc4..6c3cd1c 100644 --- a/tests/solidity_ast/test_roundtrip.py +++ b/tests/solidity_ast/test_roundtrip.py @@ -12,7 +12,8 @@ @pytest.mark.parametrize( - "fixture", ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30", "vyper_mixed"] + "fixture", + ["solc_0_4_26", "solc_0_5_17", "solc_0_6_12", "solc_0_7_6", "solc_0_8_30", "vyper_mixed"], ) def test_roundtrip_is_loyal(fixture: str) -> None: dump = AstDump.load(FIXTURES / f"{fixture}.asts.json", on_error="raise") diff --git a/tests/solidity_ast/test_schema_conformance.py b/tests/solidity_ast/test_schema_conformance.py index b524906..e98407b 100644 --- a/tests/solidity_ast/test_schema_conformance.py +++ b/tests/solidity_ast/test_schema_conformance.py @@ -164,8 +164,17 @@ def models() -> ModelInterface: # Model fields allowed to have no schema property backing them. # certoraRun injects certora_contract_name into the dump (AstNode base field); +# the rest are the <= 0.5 dialect: InlineAssembly.operations (assembly source +# text) and the solc-0.4/0.5 FunctionDefinition flags. # nativeSrc needs no entry because every Yul definition lists it in the schema. -FIELD_ALLOWLIST = frozenset({"certora_contract_name"}) +FIELD_ALLOWLIST = frozenset({ + "certora_contract_name", + "operations", + "isConstructor", + "isDeclaredConst", + "payable", + "superFunction", +}) # Definitions whose nodeType tag differs from the registry key: solc emits # nodeType "YulLiteral" for both literal kinds, discriminated by hexValue/value. @@ -358,13 +367,49 @@ def field_for(model: type, prop: str) -> Any: return None -# Fields deliberately WIDER than the schema: version-freshness enums (EVM fork names, -# assembly flags) whose closed transcription would demote every assembly-containing -# source to parse_failed on the first solc release the vendored schema lags behind. -# Presence/requiredness/nullability are still checked; only the enum shape is waived. +# Fields deliberately WIDER than the schema, all validated against real dumps +# (fixtures for solc 0.4.26 / 0.5.17 and the project corpus sweep). Presence and +# requiredness are still checked; only the shape check is waived: +# - InlineAssembly.evmVersion/flags: version-freshness enums — a closed transcription +# would demote every assembly-containing source on the first solc release the +# vendored schema lags behind. +# - SourceUnit.nodes: the schema's union lacks EventDefinition, but solc >= 0.8.22 +# allows file-level events. +# - documentation on Contract/Function/Modifier/EventDefinition: plain NatSpec string +# in dumps from solc <= 0.5 (the StructuredDocumentation node form is 0.6+). +# - ElementaryTypeNameExpression.typeName: plain string in dumps from solc <= 0.5. +# - InlineAssembly.externalReferences: solc <= 0.5 items are keyed by identifier name. DELIBERATELY_OPEN = { ("InlineAssembly", "evmVersion"), ("InlineAssembly", "flags"), + ("SourceUnit", "nodes"), + ("ContractDefinition", "documentation"), + ("FunctionDefinition", "documentation"), + ("ModifierDefinition", "documentation"), + ("EventDefinition", "documentation"), + ("ElementaryTypeNameExpression", "typeName"), + ("InlineAssembly", "externalReferences"), +} + +# Schema-required fields the models default instead: solc omits them in situations +# the schema does not account for — either below the 0.6 floor (lenient-older +# policy: typed parsing must still work) or in corners the schema over-requires. +# Shape is still checked. exclude_unset round-trips keep the absence loyal. +# - ContractDefinition.abstract, {Function,Modifier}Definition.virtual, +# FunctionCall.tryCall, VariableDeclaration.mutability: concepts added in 0.6.x. +# - FunctionDefinition.kind: added in 0.5 (0.4 uses isConstructor). +# - InlineAssembly.AST/evmVersion: absent in the <= 0.5 assembly dialect. +# - Return.functionReturnParameters: omitted for `return;` inside a modifier body. +LENIENT_REQUIRED = { + ("ContractDefinition", "abstract"), + ("FunctionDefinition", "virtual"), + ("FunctionDefinition", "kind"), + ("ModifierDefinition", "virtual"), + ("FunctionCall", "tryCall"), + ("VariableDeclaration", "mutability"), + ("InlineAssembly", "AST"), + ("InlineAssembly", "evmVersion"), + ("Return", "functionReturnParameters"), } @@ -382,12 +427,16 @@ def check_property( has_none = atoms_of(info.annotation, m).has_none if required: - if not info.is_required(): - errors.append(f"{where}: schema-required but field has a default") - if nullable and not has_none: - errors.append(f"{where}: required-but-nullable, annotation lacks | None") - if not nullable and has_none: - errors.append(f"{where}: required non-nullable, annotation must not allow None") + if (model.__name__, prop) in LENIENT_REQUIRED: + if info.is_required(): + errors.append(f"{where}: listed in LENIENT_REQUIRED but has no default") + else: + if not info.is_required(): + errors.append(f"{where}: schema-required but field has a default") + if nullable and not has_none: + errors.append(f"{where}: required-but-nullable, annotation lacks | None") + if not nullable and has_none: + errors.append(f"{where}: required non-nullable, annotation must not allow None") else: if info.is_required(): errors.append(f"{where}: schema-optional but field is required") From 5921cac1ed7dc3f56a234f1aa55c4dc8da4cbeeb Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Thu, 16 Jul 2026 02:09:41 +0300 Subject: [PATCH 09/13] solidity_ast: VERSION_GATES, virtual=None, derived legacy accessors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the producing solc version is known, a gated field absent at or above its introduction gate fails the source instead of silently reading as None (crash over wrong results); fixtures now always parse with their version so the gates stay exercised. virtual is None below 0.6 (everything was implicitly overridable — False would mislead). effective_mutability/effective_kind derive the pre-gate values faithfully from constant/isConstructor without touching the serialized form. Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/__main__.py | 8 +- .../solidity_ast/declarations.py | 28 +++++- certora_autosetup/solidity_ast/loader.py | 95 ++++++++++++++++--- tests/solidity_ast/test_fixture_parsing.py | 7 +- tests/solidity_ast/test_lenient_parsing.py | 82 +++++++++++++++- 5 files changed, 200 insertions(+), 20 deletions(-) diff --git a/certora_autosetup/solidity_ast/__main__.py b/certora_autosetup/solidity_ast/__main__.py index a1b244c..11868aa 100644 --- a/certora_autosetup/solidity_ast/__main__.py +++ b/certora_autosetup/solidity_ast/__main__.py @@ -52,9 +52,15 @@ def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser(description=(__doc__ or "").partition("\n")[0]) parser.add_argument("dump", help="path to a .asts.json / all_asts.json file") parser.add_argument("--json", action="store_true", help="machine-readable output") + parser.add_argument( + "--solc-version", + default=None, + help="compiler version that produced the dump; enables the VERSION_GATES " + "check (absent gated fields fail the source instead of reading as None)", + ) args = parser.parse_args(argv) - dump = AstDump.load(args.dump) + dump = AstDump.load(args.dump, solc_version=args.solc_version) report: dict[str, dict[str, Any]] = {} for file_asts in dump.files.values(): for source in file_asts.sources.values(): diff --git a/certora_autosetup/solidity_ast/declarations.py b/certora_autosetup/solidity_ast/declarations.py index f6efe98..cc6889e 100644 --- a/certora_autosetup/solidity_ast/declarations.py +++ b/certora_autosetup/solidity_ast/declarations.py @@ -62,6 +62,14 @@ class VariableDeclaration(SolcNode): visibility: Visibility nodeType: Literal["VariableDeclaration"] + @property + def effective_mutability(self) -> Mutability: + """``mutability`` with the pre-0.6.6 case derived from ``constant`` (the only + mutability that existed then besides mutable) — never None.""" + if self.mutability is not None: + return self.mutability + return "constant" if self.constant else "mutable" + class ParameterList(SolcNode): """The parenthesized list of parameters or return values.""" @@ -132,8 +140,9 @@ class ModifierDefinition(SolcNode): documentation: "StructuredDocumentation | str | None" = None overrides: OverrideSpecifier | None = None parameters: ParameterList - # `virtual` only exists from solc 0.6; LENIENT_REQUIRED. - virtual: bool = False + # `virtual` only exists from solc 0.6, and pre-0.6 everything was implicitly + # overridable — None (unknown), not False; LENIENT_REQUIRED + VERSION_GATES. + virtual: bool | None = None visibility: Visibility nodeType: Literal["ModifierDefinition"] @@ -156,8 +165,9 @@ class FunctionDefinition(SolcNode): returnParameters: ParameterList scope: int stateMutability: StateMutability - # `virtual` only exists from solc 0.6; LENIENT_REQUIRED. - virtual: bool = False + # `virtual` only exists from solc 0.6, and pre-0.6 everything was implicitly + # overridable — None (unknown), not False; LENIENT_REQUIRED + VERSION_GATES. + virtual: bool | None = None visibility: Visibility # Legacy-only fields, not in the schema (FIELD_ALLOWLIST): solc 0.4 flags in # place of `kind`/`stateMutability`, and the 0.4/0.5 predecessor of @@ -168,6 +178,16 @@ class FunctionDefinition(SolcNode): superFunction: int | None = None nodeType: Literal["FunctionDefinition"] + @property + def effective_kind(self) -> Literal["function", "receive", "constructor", "fallback", "freeFunction"]: + """``kind`` with the solc-0.4 case derived from ``isConstructor``/the empty + name (0.4's unnamed fallback function) — never None.""" + if self.kind is not None: + return self.kind + if self.isConstructor: + return "constructor" + return "fallback" if self.name == "" else "function" + class SymbolAlias(BaseModel): """One ``{symbol as local}`` entry of an ImportDirective's symbolAliases.""" diff --git a/certora_autosetup/solidity_ast/loader.py b/certora_autosetup/solidity_ast/loader.py index 7c6571d..751f233 100644 --- a/certora_autosetup/solidity_ast/loader.py +++ b/certora_autosetup/solidity_ast/loader.py @@ -23,12 +23,43 @@ from pathlib import Path from typing import Any, Iterator, Literal, TypeVar, get_args +from packaging.version import Version from pydantic import ValidationError from . import unions as unions # import resolves forward refs and rebuilds the models from .base import AstNode from .declarations import SourceUnit -from .traversal import build_node_index, find_all +from .traversal import build_node_index, find_all, walk + +# Fields the models keep lenient (see LENIENT_REQUIRED in the conformance test) but +# that MUST be present in dumps from the solc version that introduced them onward. +# When the caller knows the producing version (autosetup always does), absence at or +# above the gate is a hard error — wrong results are worse than a failed parse. +# Gates err late where the exact introduction is unverified (never crash wrongly on +# a version that genuinely lacked the field); tightened as fixture evidence grows. +VERSION_GATES: dict[str, dict[str, Version]] = { + "ContractDefinition": {"abstract": Version("0.6.0")}, + "FunctionDefinition": {"kind": Version("0.5.0"), "virtual": Version("0.6.0")}, + "ModifierDefinition": {"virtual": Version("0.6.0")}, + "FunctionCall": {"tryCall": Version("0.6.2")}, + "VariableDeclaration": {"mutability": Version("0.6.6")}, + "InlineAssembly": {"AST": Version("0.6.0"), "evmVersion": Version("0.6.12")}, +} + + +def _version_gate_violation(root: AstNode, solc_version: Version) -> str | None: + """First gated field that is absent although the producing solc must emit it.""" + for node in walk(root): + gates = VERSION_GATES.get(type(node).__name__) + if not gates: + continue + for field_name, gate in gates.items(): + if solc_version >= gate and field_name not in node.model_fields_set: + return ( + f"{type(node).__name__}.{field_name} absent, but solc " + f"{solc_version} (>= {gate}) always emits it" + ) + return None logger = logging.getLogger(__name__) @@ -67,26 +98,54 @@ class AstDump: files: dict[str, FileAsts] @classmethod - def load(cls, path: Path | str, *, on_error: OnError = "raw") -> "AstDump": + def load( + cls, + path: Path | str, + *, + on_error: OnError = "raw", + solc_version: str | Version | None = None, + ) -> "AstDump": + """``solc_version``: the compiler that produced the dump, when known — + enables the VERSION_GATES check (a gated field absent at or above its gate + fails the source instead of silently reading as None).""" with open(path, "r", encoding="utf-8") as f: - return cls.from_dict(json.load(f), on_error=on_error) + return cls.from_dict(json.load(f), on_error=on_error, solc_version=solc_version) @classmethod - def load_cached(cls, path: Path | str, *, on_error: OnError = "raw") -> "AstDump": + def load_cached( + cls, + path: Path | str, + *, + on_error: OnError = "raw", + solc_version: str | Version | None = None, + ) -> "AstDump": """``load()`` memoized on (resolved path, mtime, size) — a setup run reads the same dump at several points. The returned instance is shared: treat it as read-only. """ stat = os.stat(path) - return _load_cached(str(Path(path).resolve()), stat.st_mtime_ns, stat.st_size, on_error) + return _load_cached( + str(Path(path).resolve()), + stat.st_mtime_ns, + stat.st_size, + on_error, + str(solc_version) if solc_version is not None else None, + ) @classmethod - def from_dict(cls, data: dict[str, Any], *, on_error: OnError = "raw") -> "AstDump": + def from_dict( + cls, + data: dict[str, Any], + *, + on_error: OnError = "raw", + solc_version: str | Version | None = None, + ) -> "AstDump": + version = Version(solc_version) if isinstance(solc_version, str) else solc_version files = { original_file: FileAsts( original_file=original_file, sources={ - source_path: _load_source(source_path, flat, on_error) + source_path: _load_source(source_path, flat, on_error, version) for source_path, flat in per_source.items() }, ) @@ -142,11 +201,18 @@ def iter_nodes_of_type(source: SourceAst, model: type[N]) -> Iterator[N | dict[s @lru_cache(maxsize=8) -def _load_cached(resolved_path: str, _mtime_ns: int, _size: int, on_error: OnError) -> AstDump: - return AstDump.load(resolved_path, on_error=on_error) - - -def _load_source(source_path: str, flat: dict[str, Any], on_error: OnError) -> SourceAst: +def _load_cached( + resolved_path: str, _mtime_ns: int, _size: int, on_error: OnError, solc_version: str | None +) -> AstDump: + return AstDump.load(resolved_path, on_error=on_error, solc_version=solc_version) + + +def _load_source( + source_path: str, + flat: dict[str, Any], + on_error: OnError, + solc_version: Version | None = None, +) -> SourceAst: node_dicts = [n for n in flat.values() if isinstance(n, dict)] has_solidity = any("nodeType" in n for n in node_dicts) @@ -169,6 +235,11 @@ def _load_source(source_path: str, flat: dict[str, Any], on_error: OnError) -> S source_path, flat, f"{e.error_count()} validation error(s): {e.errors()[0]}", on_error ) + if solc_version is not None: + violation = _version_gate_violation(root, solc_version) + if violation: + return _failed(source_path, flat, f"version-gate violation: {violation}", on_error) + nodes = build_node_index(root) missing = [i for i in flat if i.isdigit() and int(i) not in nodes] if missing: diff --git a/tests/solidity_ast/test_fixture_parsing.py b/tests/solidity_ast/test_fixture_parsing.py index 184d3ba..13ac9b5 100644 --- a/tests/solidity_ast/test_fixture_parsing.py +++ b/tests/solidity_ast/test_fixture_parsing.py @@ -33,7 +33,12 @@ @pytest.fixture(scope="module", params=SOLC_FIXTURES) def dump(request: pytest.FixtureRequest) -> AstDump: - return AstDump.load(FIXTURES / f"{request.param}.asts.json", on_error="raise") + # solc_0_6_12 -> 0.6.12: parse with the producing version so VERSION_GATES are + # enforced on every fixture, not just trusted. + version = request.param.removeprefix("solc_").replace("_", ".") + return AstDump.load( + FIXTURES / f"{request.param}.asts.json", on_error="raise", solc_version=version + ) def test_all_sources_parse(dump: AstDump) -> None: diff --git a/tests/solidity_ast/test_lenient_parsing.py b/tests/solidity_ast/test_lenient_parsing.py index 1c7d725..e809857 100644 --- a/tests/solidity_ast/test_lenient_parsing.py +++ b/tests/solidity_ast/test_lenient_parsing.py @@ -1,9 +1,20 @@ """Corpus-discovered leniency cases: shapes real solc emits that the vendored schema does not account for (see LENIENT_REQUIRED / DELIBERATELY_OPEN in the conformance test). Each must parse typed — not as UnknownNode, not as a parse failure — and -round-trip without inventing the absent fields.""" +round-trip without inventing the absent fields. When the producing solc version is +known, VERSION_GATES turns illegitimate absence into a failure instead of a None.""" -from certora_autosetup.solidity_ast import ContractDefinition, EventDefinition, Return, SourceUnit +import pytest + +from certora_autosetup.solidity_ast import ( + AstDump, + ContractDefinition, + EventDefinition, + FunctionDefinition, + Return, + SourceUnit, + VariableDeclaration, +) def test_pre_06_contract_without_abstract_parses() -> None: @@ -25,6 +36,73 @@ def test_return_inside_modifier_body_parses() -> None: assert "functionReturnParameters" not in ret.model_dump(exclude_unset=True) +_BARE_CONTRACT = { + "id": 1, "src": "0:10:0", "nodeType": "ContractDefinition", + "name": "C", "baseContracts": [], "contractDependencies": [], + "contractKind": "contract", "fullyImplemented": True, + "linearizedBaseContracts": [1], "nodes": [], "scope": 0, +} + + +def _dump_with(node: dict) -> dict: + return {"a.sol": {"a.sol": {"1": { + "id": 0, "src": "0:10:0", "nodeType": "SourceUnit", + "absolutePath": "a.sol", "exportedSymbols": {}, "nodes": [node], + }}}} + + +def test_version_gate_fails_absent_field_at_or_above_gate() -> None: + data = _dump_with(dict(_BARE_CONTRACT)) # no `abstract` (gate: 0.6.0) + with pytest.raises(ValueError, match="version-gate violation.*abstract"): + AstDump.from_dict(data, on_error="raise", solc_version="0.8.30") + + dump = AstDump.from_dict(data, on_error="raw", solc_version="0.8.30") + [(_, source)] = list(dump.iter_sources()) + assert source.raw_kind == "parse_failed" and "abstract" in (source.parse_error or "") + + +def test_version_gate_allows_absence_below_gate() -> None: + data = _dump_with(dict(_BARE_CONTRACT)) + dump = AstDump.from_dict(data, on_error="raise", solc_version="0.5.17") + [(_, source)] = list(dump.iter_sources()) + assert source.is_parsed + + +def test_version_gate_off_without_version() -> None: + dump = AstDump.from_dict(_dump_with(dict(_BARE_CONTRACT)), on_error="raise") + [(_, source)] = list(dump.iter_sources()) + assert source.is_parsed + + +def test_effective_mutability_derives_from_constant() -> None: + def var(constant: bool) -> VariableDeclaration: + return VariableDeclaration.model_validate({ + "id": 5, "src": "0:1:0", "nodeType": "VariableDeclaration", + "name": "x", "constant": constant, "scope": 1, "stateVariable": True, + "storageLocation": "default", "typeDescriptions": {}, "visibility": "internal", + }) + + assert var(True).mutability is None and var(True).effective_mutability == "constant" + assert var(False).effective_mutability == "mutable" + + +def test_effective_kind_derives_from_04_flags() -> None: + def fn(name: str, is_constructor: bool) -> FunctionDefinition: + return FunctionDefinition.model_validate({ + "id": 6, "src": "0:1:0", "nodeType": "FunctionDefinition", + "name": name, "implemented": True, "isConstructor": is_constructor, + "modifiers": [], "scope": 1, "stateMutability": "nonpayable", + "visibility": "public", + "parameters": {"id": 7, "src": "0:0:0", "nodeType": "ParameterList", "parameters": []}, + "returnParameters": {"id": 8, "src": "0:0:0", "nodeType": "ParameterList", "parameters": []}, + }) + + assert fn("f", False).kind is None and fn("f", False).effective_kind == "function" + assert fn("", True).effective_kind == "constructor" + assert fn("", False).effective_kind == "fallback" + assert fn("f", False).virtual is None + + def test_file_level_event_definition_is_typed() -> None: unit = SourceUnit.model_validate( { From 8fdf2e3e0861508d24736410a0bf7a66e4051ade Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Thu, 16 Jul 2026 02:40:07 +0300 Subject: [PATCH 10/13] solidity_ast: ladder-verified gates + solc 0.7.2 isLValue quirk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Empirical solc ladder over every release 0.4.24-0.8.36 pinned the exact gate boundaries: FunctionCall.tryCall from 0.6.0 and InlineAssembly.evmVersion from 0.6.2 (both previously gated later, i.e. under-enforced). solc 0.7.2 alone omits isLValue on enum-member MemberAccess nodes — a bug window, present before and after, so it is lenient (None) rather than gated. Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/expressions.py | 4 +++- certora_autosetup/solidity_ast/loader.py | 4 ++-- tests/solidity_ast/test_schema_conformance.py | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/certora_autosetup/solidity_ast/expressions.py b/certora_autosetup/solidity_ast/expressions.py index 219f6b3..c719b19 100644 --- a/certora_autosetup/solidity_ast/expressions.py +++ b/certora_autosetup/solidity_ast/expressions.py @@ -170,7 +170,9 @@ class Literal(SolcNode): class MemberAccess(SolcNode): argumentTypes: list[TypeDescriptions] | None = None isConstant: bool - isLValue: bool + # solc 0.7.2 (only) omits isLValue on enum-member accesses — a compiler bug + # window, not an introduction gate; LENIENT_REQUIRED, no VERSION_GATES entry. + isLValue: bool | None = None isPure: bool lValueRequested: bool typeDescriptions: TypeDescriptions diff --git a/certora_autosetup/solidity_ast/loader.py b/certora_autosetup/solidity_ast/loader.py index 751f233..1c8f518 100644 --- a/certora_autosetup/solidity_ast/loader.py +++ b/certora_autosetup/solidity_ast/loader.py @@ -41,9 +41,9 @@ "ContractDefinition": {"abstract": Version("0.6.0")}, "FunctionDefinition": {"kind": Version("0.5.0"), "virtual": Version("0.6.0")}, "ModifierDefinition": {"virtual": Version("0.6.0")}, - "FunctionCall": {"tryCall": Version("0.6.2")}, + "FunctionCall": {"tryCall": Version("0.6.0")}, "VariableDeclaration": {"mutability": Version("0.6.6")}, - "InlineAssembly": {"AST": Version("0.6.0"), "evmVersion": Version("0.6.12")}, + "InlineAssembly": {"AST": Version("0.6.0"), "evmVersion": Version("0.6.2")}, } diff --git a/tests/solidity_ast/test_schema_conformance.py b/tests/solidity_ast/test_schema_conformance.py index e98407b..afaec1d 100644 --- a/tests/solidity_ast/test_schema_conformance.py +++ b/tests/solidity_ast/test_schema_conformance.py @@ -400,7 +400,10 @@ def field_for(model: type, prop: str) -> Any: # - FunctionDefinition.kind: added in 0.5 (0.4 uses isConstructor). # - InlineAssembly.AST/evmVersion: absent in the <= 0.5 assembly dialect. # - Return.functionReturnParameters: omitted for `return;` inside a modifier body. +# - MemberAccess.isLValue: omitted by solc 0.7.2 (only) on enum-member accesses — +# a bug window, present both before and after, so it cannot be a version gate. LENIENT_REQUIRED = { + ("MemberAccess", "isLValue"), ("ContractDefinition", "abstract"), ("FunctionDefinition", "virtual"), ("FunctionDefinition", "kind"), From 79eda5af87fb6d4dea6326cd16ccec45e191e574 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Thu, 16 Jul 2026 13:40:48 +0300 Subject: [PATCH 11/13] solidity_ast: stream-equivalence tests + streaming __main__ validator Co-Authored-By: Claude Fable 5 --- tests/solidity_ast/test_loader.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/solidity_ast/test_loader.py b/tests/solidity_ast/test_loader.py index 2c70ffd..c11b261 100644 --- a/tests/solidity_ast/test_loader.py +++ b/tests/solidity_ast/test_loader.py @@ -68,6 +68,28 @@ def test_shape_mismatch_degrades_per_source() -> None: AstDump.from_dict(data, on_error="raise") +def test_stream_units_equivalent_to_load() -> None: + path = FIXTURES / "solc_0_8_30.asts.json" + loaded = AstDump.load(path, on_error="raise", solc_version="0.8.30") + streamed = list(AstDump.stream_units(path, on_error="raise", solc_version="0.8.30")) + assert [u.original_file for u in streamed] == list(loaded.files) + for unit in streamed: + expected = loaded.files[unit.original_file] + assert unit.sources.keys() == expected.sources.keys() + for source_path, source in unit.sources.items(): + other = expected.sources[source_path] + assert source.raw_kind == other.raw_kind + assert source.nodes.keys() == other.nodes.keys() + assert source.root == other.root + + +def test_stream_units_unit_filter_skips_before_validation() -> None: + path = FIXTURES / "solc_0_8_30.asts.json" + assert list(AstDump.stream_units(path, unit_filter=lambda rel: False)) == [] + kept = list(AstDump.stream_units(path, unit_filter=lambda rel: rel.endswith(".sol"))) + assert kept + + def test_missing_source_unit_degrades() -> None: data = _dump_of({"7": {"id": 7, "src": "0:1:0", "nodeType": "PragmaDirective", "literals": []}}) dump = AstDump.from_dict(data, on_error="raw") From 857aec0b921f33e1fa3fcec8612dbc3998627126 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Sat, 18 Jul 2026 19:29:36 +0300 Subject: [PATCH 12/13] solidity_ast: move fixtures + fixture-dependent tests to the Autosetup test repo --- tests/fixtures/solidity_ast/README.md | 17 - .../solidity_ast/contracts/breadth_04.sol | 111 - .../solidity_ast/contracts/breadth_05.sol | 128 - .../solidity_ast/contracts/breadth_06.sol | 204 - .../solidity_ast/contracts/breadth_08.sol | 246 - .../expected_parent_graph_0_8_30.json | 668 - .../solidity_ast/generate_fixtures.py | 273 - .../solidity_ast/solc_0_4_26.asts.json | 24317 ------- .../solidity_ast/solc_0_5_17.asts.json | 25722 ------- .../solidity_ast/solc_0_6_12.asts.json | 48552 ------------- .../solidity_ast/solc_0_7_6.asts.json | 46052 ------------ .../solidity_ast/solc_0_8_30.asts.json | 58914 ---------------- .../solidity_ast/vyper_mixed.asts.json | 1251 - tests/solidity_ast/test_consumer_migration.py | 223 - tests/solidity_ast/test_fixture_parsing.py | 144 - tests/solidity_ast/test_loader.py | 99 - .../solidity_ast/test_parent_graph_compat.py | 22 - tests/solidity_ast/test_roundtrip.py | 24 - tests/solidity_ast/test_traversal.py | 75 - 19 files changed, 207042 deletions(-) delete mode 100644 tests/fixtures/solidity_ast/README.md delete mode 100644 tests/fixtures/solidity_ast/contracts/breadth_04.sol delete mode 100644 tests/fixtures/solidity_ast/contracts/breadth_05.sol delete mode 100644 tests/fixtures/solidity_ast/contracts/breadth_06.sol delete mode 100644 tests/fixtures/solidity_ast/contracts/breadth_08.sol delete mode 100644 tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json delete mode 100644 tests/fixtures/solidity_ast/generate_fixtures.py delete mode 100644 tests/fixtures/solidity_ast/solc_0_4_26.asts.json delete mode 100644 tests/fixtures/solidity_ast/solc_0_5_17.asts.json delete mode 100644 tests/fixtures/solidity_ast/solc_0_6_12.asts.json delete mode 100644 tests/fixtures/solidity_ast/solc_0_7_6.asts.json delete mode 100644 tests/fixtures/solidity_ast/solc_0_8_30.asts.json delete mode 100644 tests/fixtures/solidity_ast/vyper_mixed.asts.json delete mode 100644 tests/solidity_ast/test_consumer_migration.py delete mode 100644 tests/solidity_ast/test_fixture_parsing.py delete mode 100644 tests/solidity_ast/test_loader.py delete mode 100644 tests/solidity_ast/test_parent_graph_compat.py delete mode 100644 tests/solidity_ast/test_roundtrip.py delete mode 100644 tests/solidity_ast/test_traversal.py diff --git a/tests/fixtures/solidity_ast/README.md b/tests/fixtures/solidity_ast/README.md deleted file mode 100644 index 1ad05a0..0000000 --- a/tests/fixtures/solidity_ast/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# solidity_ast test fixtures - -Fixtures for the `certora_autosetup/solidity_ast/` pydantic AST models. - -- `contracts/` — feature-breadth Solidity sources. `breadth_06.sol` is shared by - solc 0.6.x and 0.7.x; `breadth_08.sol` adds the 0.8-only constructs (custom - errors, UDVTs, user-defined operators, unchecked, named mapping params, ...). -- `solc_.asts.json` — real `certoraRun --dump_asts` output (sanitized to be - machine-independent). Regenerate with `generate_fixtures.py` (dev-only, not run - in CI; see its docstring). -- `expected_parent_graph_0_8_30.json` — golden output of the frozen legacy - parent-graph algorithm over `solc_0_8_30.asts.json` (`generate_fixtures.py --golden`). -- `vyper_mixed.asts.json` — **SYNTHETIC (hand-written), not a real certoraRun - dump**: pins the passthrough shape for a mixed Solidity+Vyper dump. One level-1 - entry with two level-2 sources: a real solc-0.8.30-shaped Solidity `Counter` - and a Vyper source whose nodes use the Vyper dialect (`ast_type`/`node_id` - keys instead of `nodeType`/`id`). diff --git a/tests/fixtures/solidity_ast/contracts/breadth_04.sol b/tests/fixtures/solidity_ast/contracts/breadth_04.sol deleted file mode 100644 index 355cfa1..0000000 --- a/tests/fixtures/solidity_ast/contracts/breadth_04.sol +++ /dev/null @@ -1,111 +0,0 @@ -pragma solidity ^0.4.24; - -/// @title 0.4-era interface -interface IToken { - function totalSupply() external view returns (uint256); -} - -library MathLib { - function add(uint256 a, uint256 b) internal pure returns (uint256) { - return a + b; - } -} - -/// @notice Contract-level NatSpec in the 0.4 dialect -contract Base { - /// @dev state docs - uint256 public stored; - uint256 public constant LIMIT = 100; - address internal owner; - - event Stored(address indexed who, uint256 value); - - /// @param initial the seed value - constructor(uint256 initial) internal { - stored = initial; - owner = msg.sender; - } - - modifier onlyOwner() { - require(msg.sender == owner, "not owner"); - _; - } - - function touch() public returns (uint256); -} - -contract Left is Base { - constructor() public Base(1) {} - - function touch() public returns (uint256) { - return stored + 1; - } -} - -contract Middle is Base { - struct Slot { - uint128 lo; - uint128 hi; - } - enum Phase {Idle, Live, Dead} - - mapping(address => Slot) internal slots; - Phase public phase; - uint256[] public series; - - constructor() public Base(2) {} - - /// @notice function NatSpec, 0.4 string form - function touch() public returns (uint256) { - Slot memory s = slots[msg.sender]; - uint256 acc = uint256(s.lo) + uint256(s.hi); - for (uint256 i = 0; i < 3; i++) { - if (i == 1) { - continue; - } - acc = MathLib.add(acc, i); - } - uint256 j = 0; - while (j < 2) { - j++; - } - do { - j--; - } while (j > 0); - acc = phase == Phase.Live ? acc * 2 : acc; - delete slots[msg.sender]; - emit Stored(msg.sender, acc); - return acc; - } - - function probe(address target) public view returns (uint256 size, bytes32 head) { - assembly { - size := extcodesize(target) - let buf := mload(0x40) - switch size - case 0 { - head := 0 - } - default { - extcodecopy(target, buf, 0, 32) - head := mload(buf) - } - } - } -} - -contract Diamond is IToken, Left { - uint256 private supply; - - constructor() public { - supply = (new uint256[](1)).length; - bytes memory blob = abi.encodePacked(uint16(7), address(this)); - supply += blob.length + address(this).balance; - } - - function totalSupply() external view returns (uint256) { - return supply; - } - - function() external payable {} -} diff --git a/tests/fixtures/solidity_ast/contracts/breadth_05.sol b/tests/fixtures/solidity_ast/contracts/breadth_05.sol deleted file mode 100644 index 5c21c74..0000000 --- a/tests/fixtures/solidity_ast/contracts/breadth_05.sol +++ /dev/null @@ -1,128 +0,0 @@ -pragma solidity ^0.5.17; -pragma experimental ABIEncoderV2; - -/// @title Interface exercising 0.5-era AST shapes -interface IToken { - function totalSupply() external view returns (uint256); -} - -library MathLib { - function add(uint256 a, uint256 b) internal pure returns (uint256) { - return a + b; - } -} - -/// @notice Contract-level NatSpec: plain-string `documentation` in 0.5 dumps -contract Base { - /// @dev state docs - uint256 public stored; - uint256 public constant LIMIT = 100; - address internal owner; - - event Stored(address indexed who, uint256 value); - - /// @param initial the seed value - constructor(uint256 initial) internal { - stored = initial; - owner = msg.sender; - } - - modifier onlyOwner() { - require(msg.sender == owner, "not owner"); - _; - } - - function touch() public returns (uint256); - - modifier virtualish() { - _; - } -} - -contract Left is Base { - constructor() public Base(1) {} - - function touch() public virtualish returns (uint256) { - return stored + 1; - } -} - -contract Middle is Base { - struct Slot { - uint128 lo; - uint128 hi; - } - enum Phase {Idle, Live, Dead} - - mapping(address => Slot) internal slots; - Phase public phase; - uint256[] public series; - - constructor() public Base(2) {} - - /// @notice function NatSpec, 0.5 string form - function touch() public virtualish returns (uint256) { - Slot memory s = slots[msg.sender]; - (uint128 lo, uint128 hi) = (s.lo, s.hi); - uint256 acc = uint256(lo) + uint256(hi); - for (uint256 i = 0; i < 3; i++) { - if (i == 1) { - continue; - } - acc = MathLib.add(acc, i); - } - uint256 j = 0; - while (j < 2) { - j++; - } - do { - j--; - } while (j > 0); - acc = phase == Phase.Live ? acc * 2 : acc; - delete slots[msg.sender]; - emit Stored(msg.sender, acc); - return acc; - } - - function probe(address target) public view returns (uint256 size, bytes32 head) { - assembly { - size := extcodesize(target) - let buf := mload(0x40) - switch size - case 0 { - head := 0 - } - default { - extcodecopy(target, buf, 0, 32) - head := mload(buf) - } - for {let i := 0} lt(i, 2) {i := add(i, 1)} { - pop(add(i, 1)) - } - function double(x) -> y { - y := mul(x, 2) - } - pop(double(3)) - } - } -} - -contract Diamond is IToken, Left { - uint256 private supply; - - constructor() public { - supply = (new uint256[](1)).length; - transformCheck(); - } - - function totalSupply() external view returns (uint256) { - return supply; - } - - function transformCheck() internal { - bytes memory blob = abi.encodePacked(uint16(7), address(this)); - supply = blob.length + address(this).balance; - } - - function() external payable {} -} diff --git a/tests/fixtures/solidity_ast/contracts/breadth_06.sol b/tests/fixtures/solidity_ast/contracts/breadth_06.sol deleted file mode 100644 index f03f27e..0000000 --- a/tests/fixtures/solidity_ast/contracts/breadth_06.sol +++ /dev/null @@ -1,204 +0,0 @@ -// SPDX-License-Identifier: MIT -// Breadth fixture for solc 0.6.x / 0.7.x compact-AST generation. Exercises: -// inheritance diamond, abstract contract, interface, library, struct/enum/event/ -// modifier, constructor params, try/catch, inline assembly (function def, for, -// switch, literals, break/continue/leave), tuple & conditional expressions, -// internal function types, `using for`, staticcall probing (no address.code -// member before 0.8), constant/immutable state vars, mapping/array types. -pragma solidity >=0.6.12 <0.8.0; - -interface IToken { - event Transfer(address indexed from, address indexed to, uint256 value); - - function balanceOf(address who) external view returns (uint256); -} - -library MathLib { - function clampedAdd(uint256 a, uint256 b) internal pure returns (uint256) { - uint256 c = a + b; - return c < a ? type(uint256).max : c; - } -} - -abstract contract Base { - enum Phase { - Init, - Active, - Done - } - - struct Account { - uint256 balance; - uint64 nonce; - } - - uint256 public constant LIMIT = 100; - uint256 public immutable createdAt; - address internal owner; - - event PhaseChanged(Phase indexed newPhase); - - modifier onlyOwner() { - require(msg.sender == owner, "not owner"); - _; - } - - // `internal`: required by 0.6 for abstract-contract constructors, warning-only on 0.7. - constructor() internal { - createdAt = block.timestamp; - owner = msg.sender; - } - - function ping() public virtual returns (uint256); -} - -contract Left is Base { - function ping() public virtual override returns (uint256) { - return 1; - } -} - -contract Right is Base { - function ping() public virtual override returns (uint256) { - return 2; - } -} - -contract Diamond is Left, Right, IToken { - using MathLib for uint256; - - mapping(address => Account) public accounts; - uint256[] internal history; - Phase public phase; - - constructor(address firstUser, uint256 seed) public { - accounts[firstUser] = Account({balance: seed, nonce: 0}); - history.push(seed); - } - - function ping() public override(Left, Right) returns (uint256) { - phase = Phase.Active; - emit PhaseChanged(phase); - return super.ping(); - } - - function balanceOf(address who) external view override returns (uint256) { - return accounts[who].balance; - } - - function transfer(address to, uint256 value) external onlyOwner returns (bool) { - Account storage from = accounts[msg.sender]; - require(from.balance >= value, "insufficient"); - from.balance -= value; - accounts[to].balance = accounts[to].balance.clampedAdd(value); - emit Transfer(msg.sender, to, value); - return true; - } - - function applyTwice( - function(uint256) internal pure returns (uint256) f, - uint256 x - ) internal pure returns (uint256) { - return f(f(x)); - } - - function bump(uint256 x) internal pure returns (uint256) { - return x + 1; - } - - function tupleAndConditional(uint256 a, uint256 b) - public - pure - returns (uint256 lo, uint256 hi) - { - uint256 m = a < b ? a : b; - (lo, hi) = (m, a + b); - lo = applyTwice(bump, lo); - } - - function safeBalance(IToken token, address who) external view returns (uint256) { - try token.balanceOf(who) returns (uint256 value) { - return value; - } catch Error(string memory) { - return 0; - } catch (bytes memory) { - return type(uint256).max; - } - } - - // Pre-0.8 there is no address.code member; probe the target via staticcall. - function probe(address target) public view returns (bool ok, bytes memory data) { - (ok, data) = target.staticcall(abi.encodeWithSignature("ping()")); - } - - function controlFlow(uint256 n) public pure returns (uint256 acc) { - for (uint256 i = 0; i < n; i++) { - if (i == 3) { - continue; - } else if (i > 7) { - break; - } - acc += i; - } - uint256 j = 0; - while (j < n) { - j++; - } - do { - acc = acc + 1; - } while (acc < n); - uint256[] memory scratch = new uint256[](n + 1); - scratch[0] = acc; - delete scratch[0]; - acc = scratch.length; - } - - function sendNothing(address payable to) external onlyOwner { - (bool ok, ) = to.call{value: 0}(""); - require(ok, "call failed"); - } - - receive() external payable {} - - fallback() external payable {} - - function yulStuff(uint256 n) public pure returns (uint256 r) { - assembly { - function double(a) -> b { - if iszero(a) { - leave - } - b := mul(a, 2) - } - let acc := 0 - for { - let i := 0 - } lt(i, n) { - i := add(i, 1) - } { - if eq(i, 5) { - continue - } - if gt(i, 10) { - break - } - acc := add(acc, double(i)) - } - switch and(acc, 1) - case 0 { - r := acc - } - case 1 { - r := add(acc, 1) - } - default { - r := 0 - } - let tag := "yul" - let flag := true - if and(flag, gt(r, 0xff)) { - r := byte(0, tag) - } - } - } -} diff --git a/tests/fixtures/solidity_ast/contracts/breadth_08.sol b/tests/fixtures/solidity_ast/contracts/breadth_08.sol deleted file mode 100644 index 59cba5c..0000000 --- a/tests/fixtures/solidity_ast/contracts/breadth_08.sol +++ /dev/null @@ -1,246 +0,0 @@ -// SPDX-License-Identifier: MIT -// Breadth fixture for solc 0.8.x compact-AST generation. Everything in -// breadth_06.sol PLUS: custom errors + revert statement, user-defined value -// type, unchecked blocks, free functions, index-range access (calldata bytes -// slicing), named mapping params, user-defined operators with -// `using {...} for ... global`, address.code / .code.length. -pragma solidity ^0.8.19; - -type Price is uint128; - -function addPrice(Price a, Price b) pure returns (Price) { - return Price.wrap(Price.unwrap(a) + Price.unwrap(b)); -} - -function eqPrice(Price a, Price b) pure returns (bool) { - return Price.unwrap(a) == Price.unwrap(b); -} - -using {addPrice as +, eqPrice as ==} for Price global; - -error Unauthorized(address who); -error Insufficient(uint256 requested, uint256 available); - -// Free function. -function clamp(uint256 x, uint256 limit) pure returns (uint256) { - return x > limit ? limit : x; -} - -interface IToken { - event Transfer(address indexed from, address indexed to, uint256 value); - - function balanceOf(address who) external view returns (uint256); -} - -library MathLib { - function clampedAdd(uint256 a, uint256 b) internal pure returns (uint256) { - unchecked { - uint256 c = a + b; - return c < a ? type(uint256).max : c; - } - } -} - -abstract contract Base { - enum Phase { - Init, - Active, - Done - } - - struct Account { - uint256 balance; - uint64 nonce; - } - - uint256 public constant LIMIT = 100; - uint256 public immutable createdAt; - address internal owner; - - event PhaseChanged(Phase indexed newPhase); - - modifier onlyOwner() { - if (msg.sender != owner) { - revert Unauthorized(msg.sender); - } - _; - } - - constructor() { - createdAt = block.timestamp; - owner = msg.sender; - } - - function ping() public virtual returns (uint256); -} - -contract Left is Base { - function ping() public virtual override returns (uint256) { - return 1; - } -} - -contract Right is Base { - function ping() public virtual override returns (uint256) { - return 2; - } -} - -contract Diamond is Left, Right, IToken { - using MathLib for uint256; - - // Named mapping key/value params (solc >= 0.8.18). - mapping(address owner => Account account) public accounts; - uint256[] internal history; - Phase public phase; - Price public floorPrice; - - constructor(address firstUser, uint256 seed) { - accounts[firstUser] = Account({balance: seed, nonce: 0}); - history.push(seed); - floorPrice = Price.wrap(uint128(clamp(seed, LIMIT))); - } - - function ping() public override(Left, Right) returns (uint256) { - phase = Phase.Active; - emit PhaseChanged(phase); - return super.ping(); - } - - function balanceOf(address who) external view override returns (uint256) { - return accounts[who].balance; - } - - function transfer(address to, uint256 value) external onlyOwner returns (bool) { - Account storage from = accounts[msg.sender]; - if (from.balance < value) { - revert Insufficient(value, from.balance); - } - unchecked { - from.balance -= value; - } - accounts[to].balance = accounts[to].balance.clampedAdd(value); - emit Transfer(msg.sender, to, value); - return true; - } - - // User-defined operators on the user-defined value type. - function total(Price a, Price b) public pure returns (Price) { - if (a == b) { - return a + a; - } - return a + b; - } - - function applyTwice( - function(uint256) internal pure returns (uint256) f, - uint256 x - ) internal pure returns (uint256) { - return f(f(x)); - } - - function bump(uint256 x) internal pure returns (uint256) { - return x + 1; - } - - function tupleAndConditional(uint256 a, uint256 b) - public - pure - returns (uint256 lo, uint256 hi) - { - uint256 m = a < b ? a : b; - (lo, hi) = (m, a + b); - lo = applyTwice(bump, lo); - } - - function safeBalance(IToken token, address who) external view returns (uint256) { - try token.balanceOf(who) returns (uint256 value) { - return value; - } catch Error(string memory) { - return 0; - } catch (bytes memory) { - return type(uint256).max; - } - } - - function codeProbe(address target) public view returns (uint256 size, bytes memory blob) { - size = target.code.length; - blob = address(this).code; - } - - // Index-range access on calldata bytes. - function selectorOf(bytes calldata data) external pure returns (bytes calldata) { - return data[0:4]; - } - - function controlFlow(uint256 n) public pure returns (uint256 acc) { - for (uint256 i = 0; i < n; i++) { - if (i == 3) { - continue; - } else if (i > 7) { - break; - } - acc += i; - } - uint256 j = 0; - while (j < n) { - j++; - } - do { - acc = acc + 1; - } while (acc < n); - uint256[] memory scratch = new uint256[](n + 1); - scratch[0] = acc; - delete scratch[0]; - acc = scratch.length; - } - - function sendNothing(address payable to) external onlyOwner { - (bool ok, ) = to.call{value: 0}(""); - require(ok, "call failed"); - } - - receive() external payable {} - - fallback() external payable {} - - function yulStuff(uint256 n) public pure returns (uint256 r) { - assembly { - function double(a) -> b { - if iszero(a) { - leave - } - b := mul(a, 2) - } - let acc := 0 - for { - let i := 0 - } lt(i, n) { - i := add(i, 1) - } { - if eq(i, 5) { - continue - } - if gt(i, 10) { - break - } - acc := add(acc, double(i)) - } - switch and(acc, 1) - case 0 { - r := acc - } - case 1 { - r := add(acc, 1) - } - default { - r := 0 - } - let tag := "yul" - let flag := true - if and(flag, gt(r, 0xff)) { - r := byte(0, tag) - } - } - } -} diff --git a/tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json b/tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json deleted file mode 100644 index da2330c..0000000 --- a/tests/fixtures/solidity_ast/expected_parent_graph_0_8_30.json +++ /dev/null @@ -1,668 +0,0 @@ -{ - "breadth_08.sol": { - "breadth_08.sol": { - "2": "3", - "4": "5", - "5": "6", - "7": "8", - "8": "9", - "6": "10", - "9": "10", - "11": "12", - "12": "13", - "13": "14", - "15": "16", - "17": "18", - "19": "20", - "18": "20", - "21": "22", - "23": "24", - "22": "24", - "20": "25", - "24": "25", - "25": "26", - "16": "26", - "26": "27", - "27": "28", - "28": "29", - "10": "29", - "14": "29", - "30": "31", - "31": "32", - "33": "34", - "34": "35", - "32": "36", - "35": "36", - "37": "38", - "38": "39", - "40": "41", - "42": "43", - "41": "43", - "44": "45", - "46": "47", - "45": "47", - "43": "48", - "47": "48", - "48": "49", - "49": "50", - "50": "51", - "36": "51", - "39": "51", - "54": "55", - "55": "56", - "57": "58", - "58": "59", - "59": "60", - "61": "62", - "63": "64", - "62": "65", - "64": "65", - "65": "66", - "67": "68", - "69": "70", - "68": "71", - "70": "71", - "72": "73", - "73": "74", - "75": "77", - "76": "77", - "77": "80", - "79": "80", - "78": "80", - "80": "81", - "81": "82", - "82": "83", - "71": "83", - "74": "83", - "84": "85", - "86": "87", - "88": "89", - "85": "90", - "87": "90", - "89": "90", - "90": "91", - "92": "93", - "93": "94", - "95": "96", - "96": "97", - "94": "98", - "97": "98", - "91": "99", - "98": "99", - "100": "101", - "102": "103", - "101": "104", - "103": "104", - "105": "106", - "106": "107", - "108": "109", - "110": "112", - "111": "112", - "109": "113", - "112": "113", - "114": "116", - "115": "116", - "118": "119", - "119": "120", - "117": "120", - "120": "121", - "116": "123", - "122": "123", - "121": "123", - "123": "124", - "113": "125", - "124": "125", - "125": "126", - "126": "127", - "104": "127", - "107": "127", - "127": "128", - "129": "132", - "130": "132", - "131": "132", - "133": "134", - "135": "136", - "134": "137", - "136": "137", - "138": "140", - "139": "140", - "141": "142", - "143": "144", - "145": "146", - "146": "147", - "147": "148", - "148": "149", - "151": "152", - "152": "154", - "153": "154", - "156": "157", - "157": "158", - "155": "158", - "158": "159", - "159": "160", - "154": "161", - "160": "161", - "161": "163", - "162": "163", - "163": "164", - "150": "164", - "168": "169", - "167": "170", - "169": "170", - "170": "171", - "173": "174", - "172": "175", - "174": "175", - "175": "176", - "171": "177", - "176": "177", - "177": "178", - "165": "178", - "166": "178", - "180": "181", - "181": "182", - "179": "183", - "182": "183", - "132": "184", - "137": "184", - "140": "184", - "142": "184", - "144": "184", - "149": "184", - "164": "184", - "178": "184", - "183": "184", - "185": "186", - "189": "190", - "190": "191", - "192": "193", - "193": "194", - "194": "195", - "188": "195", - "187": "195", - "191": "195", - "186": "196", - "195": "196", - "197": "198", - "201": "202", - "202": "203", - "204": "205", - "205": "206", - "206": "207", - "200": "207", - "199": "207", - "203": "207", - "198": "208", - "207": "208", - "209": "210", - "211": "212", - "213": "214", - "215": "217", - "216": "217", - "219": "220", - "218": "221", - "220": "221", - "221": "222", - "223": "224", - "224": "225", - "226": "227", - "227": "228", - "229": "230", - "230": "231", - "232": "233", - "234": "235", - "233": "236", - "235": "236", - "238": "240", - "239": "240", - "242": "244", - "243": "244", - "241": "244", - "240": "245", - "244": "245", - "245": "246", - "247": "249", - "250": "251", - "249": "251", - "251": "252", - "254": "255", - "256": "257", - "259": "261", - "260": "261", - "258": "261", - "261": "262", - "257": "262", - "262": "263", - "255": "263", - "253": "264", - "263": "264", - "264": "265", - "246": "266", - "252": "266", - "265": "266", - "266": "267", - "236": "267", - "237": "267", - "269": "271", - "270": "271", - "272": "273", - "273": "274", - "276": "277", - "275": "278", - "277": "278", - "278": "279", - "281": "282", - "280": "282", - "282": "283", - "284": "285", - "285": "286", - "286": "287", - "279": "288", - "283": "288", - "287": "288", - "288": "289", - "271": "289", - "268": "289", - "274": "289", - "290": "291", - "291": "292", - "294": "295", - "295": "296", - "297": "299", - "298": "299", - "299": "300", - "300": "301", - "301": "302", - "302": "303", - "293": "303", - "292": "303", - "296": "303", - "304": "305", - "306": "307", - "305": "308", - "307": "308", - "309": "310", - "311": "312", - "312": "313", - "314": "315", - "315": "316", - "318": "319", - "317": "320", - "319": "320", - "316": "321", - "320": "321", - "322": "323", - "323": "325", - "324": "325", - "328": "329", - "327": "330", - "329": "330", - "326": "330", - "330": "331", - "331": "332", - "325": "333", - "332": "333", - "334": "336", - "336": "338", - "337": "338", - "338": "339", - "339": "340", - "341": "343", - "342": "343", - "343": "344", - "345": "347", - "346": "347", - "347": "348", - "348": "349", - "350": "351", - "349": "351", - "344": "352", - "351": "352", - "352": "353", - "355": "356", - "356": "359", - "357": "359", - "358": "359", - "354": "359", - "359": "360", - "361": "362", - "321": "363", - "333": "363", - "340": "363", - "353": "363", - "360": "363", - "362": "363", - "363": "364", - "310": "364", - "308": "364", - "313": "364", - "365": "366", - "366": "367", - "368": "369", - "369": "370", - "367": "371", - "370": "371", - "372": "373", - "373": "374", - "374": "375", - "376": "378", - "377": "378", - "379": "381", - "380": "381", - "381": "382", - "382": "383", - "378": "384", - "383": "384", - "385": "387", - "386": "387", - "387": "388", - "384": "389", - "388": "389", - "389": "390", - "371": "390", - "375": "390", - "391": "392", - "392": "393", - "394": "395", - "395": "396", - "393": "397", - "396": "397", - "397": "398", - "399": "400", - "398": "401", - "400": "401", - "402": "403", - "403": "404", - "407": "408", - "406": "408", - "408": "409", - "405": "409", - "409": "410", - "410": "411", - "411": "412", - "401": "412", - "404": "412", - "413": "414", - "414": "415", - "416": "417", - "417": "418", - "419": "421", - "420": "421", - "421": "422", - "422": "423", - "423": "424", - "415": "424", - "418": "424", - "425": "426", - "427": "428", - "426": "429", - "428": "429", - "430": "431", - "432": "433", - "431": "434", - "433": "434", - "435": "436", - "437": "439", - "438": "439", - "439": "442", - "441": "442", - "440": "442", - "436": "443", - "442": "443", - "444": "446", - "445": "446", - "448": "450", - "449": "450", - "447": "451", - "450": "451", - "446": "452", - "451": "452", - "452": "453", - "456": "458", - "457": "458", - "455": "458", - "454": "459", - "458": "459", - "459": "460", - "443": "461", - "453": "461", - "460": "461", - "461": "462", - "429": "462", - "434": "462", - "463": "464", - "464": "465", - "466": "467", - "465": "468", - "467": "468", - "469": "470", - "470": "471", - "472": "473", - "474": "475", - "473": "475", - "476": "477", - "477": "478", - "479": "480", - "480": "481", - "481": "482", - "478": "482", - "483": "484", - "484": "485", - "486": "487", - "487": "488", - "488": "489", - "485": "489", - "490": "491", - "491": "492", - "494": "495", - "495": "496", - "493": "496", - "496": "497", - "497": "498", - "498": "499", - "499": "500", - "492": "500", - "482": "501", - "489": "501", - "500": "501", - "475": "501", - "501": "502", - "502": "503", - "468": "503", - "471": "503", - "504": "505", - "505": "506", - "507": "508", - "509": "510", - "508": "511", - "510": "511", - "513": "514", - "514": "515", - "512": "516", - "515": "516", - "516": "517", - "519": "520", - "521": "522", - "520": "522", - "522": "523", - "518": "524", - "523": "524", - "524": "525", - "517": "526", - "525": "526", - "526": "527", - "506": "527", - "511": "527", - "528": "529", - "529": "530", - "531": "532", - "532": "533", - "534": "537", - "536": "537", - "535": "537", - "537": "538", - "538": "539", - "539": "540", - "530": "540", - "533": "540", - "541": "542", - "542": "543", - "544": "545", - "545": "546", - "547": "548", - "548": "550", - "549": "550", - "551": "553", - "552": "553", - "554": "555", - "555": "556", - "557": "559", - "558": "559", - "560": "561", - "562": "564", - "563": "564", - "565": "566", - "564": "567", - "566": "567", - "559": "568", - "567": "568", - "561": "568", - "569": "571", - "570": "571", - "571": "572", - "568": "573", - "572": "573", - "573": "574", - "553": "574", - "550": "574", - "556": "574", - "575": "576", - "576": "578", - "577": "578", - "579": "581", - "580": "581", - "582": "583", - "583": "584", - "584": "585", - "585": "586", - "581": "586", - "588": "590", - "589": "590", - "587": "591", - "590": "591", - "591": "592", - "592": "593", - "594": "596", - "595": "596", - "593": "597", - "596": "597", - "600": "601", - "601": "602", - "603": "604", - "604": "605", - "606": "608", - "607": "608", - "608": "609", - "605": "609", - "602": "610", - "609": "610", - "611": "613", - "612": "613", - "613": "615", - "614": "615", - "615": "616", - "617": "619", - "618": "619", - "619": "620", - "620": "621", - "623": "624", - "622": "625", - "624": "625", - "625": "626", - "574": "627", - "578": "627", - "586": "627", - "597": "627", - "610": "627", - "616": "627", - "621": "627", - "626": "627", - "627": "628", - "543": "628", - "546": "628", - "629": "630", - "630": "631", - "632": "633", - "635": "636", - "637": "638", - "638": "640", - "639": "640", - "641": "642", - "640": "642", - "636": "643", - "642": "643", - "645": "647", - "646": "647", - "644": "647", - "647": "648", - "643": "649", - "648": "649", - "649": "650", - "633": "650", - "631": "650", - "634": "650", - "653": "654", - "651": "654", - "652": "654", - "657": "658", - "655": "658", - "656": "658", - "659": "660", - "660": "661", - "662": "663", - "663": "664", - "665": "666", - "666": "667", - "661": "667", - "664": "667", - "210": "668", - "212": "668", - "214": "668", - "217": "668", - "222": "668", - "225": "668", - "228": "668", - "231": "668", - "267": "668", - "289": "668", - "303": "668", - "364": "668", - "390": "668", - "412": "668", - "424": "668", - "462": "668", - "503": "668", - "527": "668", - "540": "668", - "628": "668", - "650": "668", - "654": "668", - "658": "668", - "667": "668", - "1": "669", - "3": "669", - "29": "669", - "51": "669", - "56": "669", - "60": "669", - "66": "669", - "83": "669", - "99": "669", - "128": "669", - "184": "669", - "196": "669", - "208": "669", - "668": "669" - } - } -} diff --git a/tests/fixtures/solidity_ast/generate_fixtures.py b/tests/fixtures/solidity_ast/generate_fixtures.py deleted file mode 100644 index 231f9e1..0000000 --- a/tests/fixtures/solidity_ast/generate_fixtures.py +++ /dev/null @@ -1,273 +0,0 @@ -#!/usr/bin/env python3 -"""Dev-only generator for the solidity_ast test fixtures. NEVER run in CI. - -Default mode ------------- -For each (solc version, contract file) pair in ``PAIRS``, run ``certoraRun`` -with ``--dump_asts --compilation_steps_only`` (fully local: compiles and dumps -ASTs, sends nothing anywhere) inside a temporary working directory, pick up the -``.asts.json`` written to the newest ``.certora_internal//`` build dir, -sanitize it (see below), and write ``solc_.asts.json`` next to this script. - -Requires ``certoraRun`` (e.g. ``uv run --with certora-cli python -tests/fixtures/solidity_ast/generate_fixtures.py``) and the solc binaries for -the versions in ``PAIRS`` (solc-select artifacts, ``solc``/``solc-`` -on PATH, or a directory of ``solc-`` binaries via ``--solc-dir``). - -Sanitization ------------- -The raw dump is a three-level mapping:: - - {cli_path: {absolute_path: {node_id: node}}} - -Level-1 keys are the contract paths as passed on the certoraRun command line, -level-2 keys are machine-specific absolute paths, and SourceUnit nodes carry -``absolutePath`` string fields holding the same absolute paths. All three are -rewritten to paths relative to the ``contracts/`` directory (e.g. -``"breadth_08.sol"``) so the fixtures are machine-independent. Everything else -— values, key order, node contents — is kept exactly as dumped. - ---golden mode -------------- -Reads ``solc_0_8_30.asts.json`` and writes -``expected_parent_graph_0_8_30.json`` using the FROZEN legacy parent-graph -algorithm, copied verbatim from -``certora_autosetup/setup/setup_prover.py`` (``generate_ast_graph`` + -``_extract_child_node_ids``). The copy is intentional: it pins the legacy -semantics as a golden reference even if setup_prover.py later migrates to the -typed AST models. Do not "fix" or modernize it. -""" - -from __future__ import annotations - -import argparse -import json -import shutil -import subprocess -import sys -import tempfile -from pathlib import Path, PurePosixPath -from typing import Any - -FIXTURES_DIR = Path(__file__).resolve().parent -CONTRACTS_DIR = FIXTURES_DIR / "contracts" - -# (solc version, contract file, main contract) — breadth_06.sol is shared by -# 0.6 and 0.7 (pragma >=0.6.12 <0.8.0). -PAIRS: list[tuple[str, str, str]] = [ - ("0.4.26", "breadth_04.sol", "Diamond"), - ("0.5.17", "breadth_05.sol", "Diamond"), - ("0.6.12", "breadth_06.sol", "Diamond"), - ("0.7.6", "breadth_06.sol", "Diamond"), - ("0.8.30", "breadth_08.sol", "Diamond"), -] - -DUMMY_SPEC = "rule dummy { assert true; }\n" - - -def find_solc(version: str, solc_dir: Path | None) -> Path: - """Locate a solc binary for ``version`` (see module docstring).""" - candidates: list[Path] = [] - if solc_dir is not None: - candidates += [solc_dir / f"solc-{version}", solc_dir / f"solc{version}"] - for name in (f"solc{version}", f"solc-{version}"): - found = shutil.which(name) - if found: - candidates.append(Path(found)) - candidates.append( - Path.home() / ".solc-select" / "artifacts" / f"solc-{version}" / f"solc-{version}" - ) - for candidate in candidates: - if candidate.is_file(): - return candidate - raise FileNotFoundError( - f"No solc {version} binary found (tried {[str(c) for c in candidates]}); " - f"download it from https://binaries.soliditylang.org/ and pass --solc-dir" - ) - - -def _rel_to_contracts(path_str: str) -> str: - """Rewrite a dump path to be relative to the contracts/ directory. - - Both the level-1 keys (CLI-relative, e.g. ``contracts/breadth_06.sol``) and - the level-2 keys / ``absolutePath`` values (absolute paths into the temp - working dir) contain a ``contracts/`` component; everything after its last - occurrence is the machine-independent path. - """ - parts = PurePosixPath(path_str).parts - if "contracts" in parts: - idx = len(parts) - 1 - tuple(reversed(parts)).index("contracts") - return str(PurePosixPath(*parts[idx + 1 :])) - return path_str - - -def _rewrite_absolute_paths(obj: Any) -> None: - """Recursively rewrite every string-valued ``absolutePath`` field in-place.""" - if isinstance(obj, dict): - for key, value in obj.items(): - if key == "absolutePath" and isinstance(value, str): - obj[key] = _rel_to_contracts(value) - else: - _rewrite_absolute_paths(value) - elif isinstance(obj, list): - for item in obj: - _rewrite_absolute_paths(item) - - -def sanitize(asts_data: dict[str, Any]) -> dict[str, Any]: - """Sanitize a raw .asts.json dump (see module docstring). Key order is kept.""" - sanitized: dict[str, Any] = {} - for level1_key, level1_value in asts_data.items(): - new_level1: dict[str, Any] = {} - for level2_key, nodes in level1_value.items(): - _rewrite_absolute_paths(nodes) - new_level1[_rel_to_contracts(level2_key)] = nodes - sanitized[_rel_to_contracts(level1_key)] = new_level1 - return sanitized - - -def run_certora_dump( - certora_run: str, contract_file: str, main_contract: str, solc_path: Path -) -> dict[str, Any]: - """Run certoraRun (compile-only) in a temp dir and return the raw dump.""" - with tempfile.TemporaryDirectory(prefix="solidity_ast_fixtures_") as tmp: - workdir = Path(tmp) - shutil.copytree(CONTRACTS_DIR, workdir / "contracts") - spec = workdir / "dummy.spec" - spec.write_text(DUMMY_SPEC) - cmd = [ - certora_run, - f"contracts/{contract_file}:{main_contract}", - "--verify", - f"{main_contract}:dummy.spec", - "--compilation_steps_only", - "--dump_asts", - "--solc", - str(solc_path), - ] - print(f"+ {' '.join(cmd)} (cwd={workdir})") - subprocess.run(cmd, cwd=workdir, check=True) - dumps = sorted( - workdir.glob(".certora_internal/*/.asts.json"), - key=lambda p: p.stat().st_mtime, - ) - if not dumps: - raise RuntimeError(f"certoraRun produced no .asts.json under {workdir}") - with open(dumps[-1]) as f: - return json.load(f) - - -def generate_fixtures(certora_run: str, solc_dir: Path | None, only: list[str] | None = None) -> None: - for version, contract_file, main_contract in PAIRS: - if only and version not in only: - continue - solc_path = find_solc(version, solc_dir) - raw = run_certora_dump(certora_run, contract_file, main_contract, solc_path) - sanitized = sanitize(raw) - out_path = FIXTURES_DIR / f"solc_{version.replace('.', '_')}.asts.json" - with open(out_path, "w") as f: - json.dump(sanitized, f, indent=2) - f.write("\n") - node_count = sum(len(nodes) for lvl1 in sanitized.values() for nodes in lvl1.values()) - print(f"wrote {out_path} ({node_count} nodes)") - - -# --------------------------------------------------------------------------- -# --golden: FROZEN legacy parent-graph algorithm, copied verbatim from -# certora_autosetup/setup/setup_prover.py (generate_ast_graph / -# _extract_child_node_ids). Iteration and key-order semantics must not change. -# --------------------------------------------------------------------------- - - -def _extract_child_node_ids(node: Any) -> list[int]: - child_ids = [] - - if isinstance(node, dict): - for key, value in node.items(): - # Look for 'id' fields in nested structures - if isinstance(value, dict) and 'id' in value: - child_ids.append(value['id']) - elif isinstance(value, list): - for item in value: - if isinstance(item, dict) and 'id' in item: - child_ids.append(item['id']) - - return child_ids - - -def build_legacy_parent_graph(asts_data: dict[str, Any]) -> dict[str, Any]: - # Build parent graph: node_id -> parent_node_id - parent_graph = {} - - # Structure: dict[relative_path: dict[absolute_path: dict[node_id: node_data]]] - for relative_path, path_data in asts_data.items(): - parent_graph[relative_path] = {} - - for absolute_path, nodes in path_data.items(): - parent_graph[relative_path][absolute_path] = {} - - # For each node, find all child node IDs and map them to this parent - for node_id, node in nodes.items(): - if not isinstance(node, dict): - continue - - # Find all child node IDs referenced in this node - child_ids = _extract_child_node_ids(node) - for child_id in child_ids: - parent_graph[relative_path][absolute_path][str(child_id)] = str(node_id) - - return parent_graph - - -def generate_golden() -> None: - fixture_path = FIXTURES_DIR / "solc_0_8_30.asts.json" - with open(fixture_path) as f: - asts_data = json.load(f) - parent_graph = build_legacy_parent_graph(asts_data) - out_path = FIXTURES_DIR / "expected_parent_graph_0_8_30.json" - with open(out_path, "w") as f: - json.dump(parent_graph, f, indent=2) - f.write("\n") - edge_count = sum( - len(edges) for lvl1 in parent_graph.values() for edges in lvl1.values() - ) - print(f"wrote {out_path} ({edge_count} parent edges)") - - -def main() -> int: - parser = argparse.ArgumentParser(description=(__doc__ or "").partition("\n")[0]) - parser.add_argument( - "--golden", - action="store_true", - help="derive expected_parent_graph_0_8_30.json from solc_0_8_30.asts.json " - "instead of regenerating the .asts.json fixtures", - ) - parser.add_argument( - "--certora-run", - default="certoraRun", - help="certoraRun executable (default: from PATH)", - ) - parser.add_argument( - "--solc-dir", - type=Path, - default=None, - help="directory containing solc- binaries (checked before PATH " - "and ~/.solc-select/artifacts)", - ) - parser.add_argument( - "--only", - nargs="*", - default=None, - help="regenerate only these solc versions (default: all PAIRS)", - ) - args = parser.parse_args() - - if args.golden: - generate_golden() - else: - generate_fixtures(args.certora_run, args.solc_dir, args.only) - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/tests/fixtures/solidity_ast/solc_0_4_26.asts.json b/tests/fixtures/solidity_ast/solc_0_4_26.asts.json deleted file mode 100644 index 4bec923..0000000 --- a/tests/fixtures/solidity_ast/solc_0_4_26.asts.json +++ /dev/null @@ -1,24317 +0,0 @@ -{ - "breadth_04.sol": { - "breadth_04.sol": { - "1": { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - "2": { - "certora_contract_name": "IToken", - "id": 2, - "nodeType": "ParameterList", - "parameters": [], - "src": "98:2:0" - }, - "3": { - "certora_contract_name": "IToken", - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "4": { - "certora_contract_name": "IToken", - "constant": false, - "id": 4, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "124:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "5": { - "certora_contract_name": "IToken", - "id": 5, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 4, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "124:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:9:0" - }, - "6": { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "id": 6, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 2, - "nodeType": "ParameterList", - "parameters": [], - "src": "98:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 5, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 4, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "124:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:9:0" - }, - "scope": 7, - "src": "78:55:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - "7": { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title 0.4-era interface", - "fullyImplemented": false, - "id": 7, - "linearizedBaseContracts": [ - 7 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "id": 6, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 2, - "nodeType": "ParameterList", - "parameters": [], - "src": "98:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 5, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 4, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "124:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:9:0" - }, - "scope": 7, - "src": "78:55:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 280, - "src": "55:80:0" - }, - "8": { - "certora_contract_name": "MathLib", - "id": 8, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "9": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 9, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "172:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 8, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "10": { - "certora_contract_name": "MathLib", - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "11": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 11, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "183:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "12": { - "certora_contract_name": "MathLib", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 9, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "172:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 8, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 11, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "183:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "171:22:0" - }, - "13": { - "certora_contract_name": "MathLib", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "217:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "14": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 14, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "217:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "217:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "15": { - "certora_contract_name": "MathLib", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 14, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "217:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "217:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "216:9:0" - }, - "16": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "17": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "18": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "243:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "19": { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "243:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15, - "id": 19, - "nodeType": "Return", - "src": "236:12:0" - }, - "20": { - "certora_contract_name": "MathLib", - "id": 20, - "nodeType": "Block", - "src": "226:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "243:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15, - "id": 19, - "nodeType": "Return", - "src": "236:12:0" - } - ] - }, - "21": { - "body": { - "certora_contract_name": "MathLib", - "id": 20, - "nodeType": "Block", - "src": "226:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "243:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15, - "id": 19, - "nodeType": "Return", - "src": "236:12:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 21, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 9, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "172:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 8, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 11, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "183:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "171:22:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 14, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "217:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "217:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "216:9:0" - }, - "scope": 22, - "src": "159:96:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - "22": { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 22, - "linearizedBaseContracts": [ - 22 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 20, - "nodeType": "Block", - "src": "226:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "243:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15, - "id": 19, - "nodeType": "Return", - "src": "236:12:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 21, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 9, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "172:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 8, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 11, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "183:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "171:22:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 14, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "217:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "217:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "216:9:0" - }, - "scope": 22, - "src": "159:96:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 280, - "src": "137:120:0" - }, - "23": { - "certora_contract_name": "Base", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "357:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "24": { - "certora_contract_name": "Base", - "constant": false, - "id": 24, - "name": "stored", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "357:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "357:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - "25": { - "certora_contract_name": "Base", - "id": 25, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "384:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "26": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "416:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "27": { - "certora_contract_name": "Base", - "constant": true, - "id": 27, - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "384:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 25, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "384:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "416:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - "28": { - "certora_contract_name": "Base", - "id": 28, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "425:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "29": { - "certora_contract_name": "Base", - "constant": false, - "id": 29, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "425:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 28, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "425:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "30": { - "certora_contract_name": "Base", - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "31": { - "certora_contract_name": "Base", - "constant": false, - "id": 31, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "467:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "32": { - "certora_contract_name": "Base", - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "33": { - "certora_contract_name": "Base", - "constant": false, - "id": 33, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "488:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "34": { - "certora_contract_name": "Base", - "id": 34, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 31, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "467:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 33, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "488:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:36:0" - }, - "35": { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 35, - "name": "Stored", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 34, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 31, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "467:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 33, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "488:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:36:0" - }, - "src": "454:49:0" - }, - "36": { - "certora_contract_name": "Base", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "559:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "37": { - "certora_contract_name": "Base", - "constant": false, - "id": 37, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 50, - "src": "559:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "559:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "38": { - "certora_contract_name": "Base", - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 37, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 50, - "src": "559:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "559:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "558:17:0" - }, - "39": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [], - "src": "585:0:0" - }, - "40": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "41": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "42": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "595:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "43": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "595:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "595:16:0" - }, - "44": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "45": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "46": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "47": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "48": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 48, - "nodeType": "ExpressionStatement", - "src": "621:18:0" - }, - "49": { - "certora_contract_name": "Base", - "id": 49, - "nodeType": "Block", - "src": "585:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "595:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "595:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 48, - "nodeType": "ExpressionStatement", - "src": "621:18:0" - } - ] - }, - "50": { - "body": { - "certora_contract_name": "Base", - "id": 49, - "nodeType": "Block", - "src": "585:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "595:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "595:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 48, - "nodeType": "ExpressionStatement", - "src": "621:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": "@param initial the seed value", - "id": 50, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 37, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 50, - "src": "559:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "559:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "558:17:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [], - "src": "585:0:0" - }, - "scope": 68, - "src": "547:99:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - "51": { - "certora_contract_name": "Base", - "id": 51, - "nodeType": "ParameterList", - "parameters": [], - "src": "670:2:0" - }, - "52": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "53": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "54": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "55": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "56": { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "57": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - }, - "58": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "683:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "59": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "683:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "683:41:0" - }, - "60": { - "certora_contract_name": "Base", - "id": 60, - "nodeType": "PlaceholderStatement", - "src": "734:1:0" - }, - "61": { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "Block", - "src": "673:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "683:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "683:41:0" - }, - { - "certora_contract_name": "Base", - "id": 60, - "nodeType": "PlaceholderStatement", - "src": "734:1:0" - } - ] - }, - "62": { - "body": { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "Block", - "src": "673:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "683:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "683:41:0" - }, - { - "certora_contract_name": "Base", - "id": 60, - "nodeType": "PlaceholderStatement", - "src": "734:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 62, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 51, - "nodeType": "ParameterList", - "parameters": [], - "src": "670:2:0" - }, - "src": "652:90:0", - "visibility": "internal" - }, - "63": { - "certora_contract_name": "Base", - "id": 63, - "nodeType": "ParameterList", - "parameters": [], - "src": "762:2:0" - }, - "64": { - "certora_contract_name": "Base", - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "65": { - "certora_contract_name": "Base", - "constant": false, - "id": 65, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 67, - "src": "781:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "66": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 65, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 67, - "src": "781:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "780:9:0" - }, - "67": { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "id": 67, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 63, - "nodeType": "ParameterList", - "parameters": [], - "src": "762:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 65, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 67, - "src": "781:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "780:9:0" - }, - "scope": 68, - "src": "748:42:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "68": { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract-level NatSpec in the 0.4 dialect", - "fullyImplemented": false, - "id": 68, - "linearizedBaseContracts": [ - 68 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 24, - "name": "stored", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "357:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "357:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "id": 27, - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "384:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 25, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "384:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "416:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 29, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "425:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 28, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "425:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 35, - "name": "Stored", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 34, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 31, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "467:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 33, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "488:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:36:0" - }, - "src": "454:49:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 49, - "nodeType": "Block", - "src": "585:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "595:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "595:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 48, - "nodeType": "ExpressionStatement", - "src": "621:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": "@param initial the seed value", - "id": 50, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 37, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 50, - "src": "559:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "559:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "558:17:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [], - "src": "585:0:0" - }, - "scope": 68, - "src": "547:99:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "Block", - "src": "673:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "683:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "683:41:0" - }, - { - "certora_contract_name": "Base", - "id": 60, - "nodeType": "PlaceholderStatement", - "src": "734:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 62, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 51, - "nodeType": "ParameterList", - "parameters": [], - "src": "670:2:0" - }, - "src": "652:90:0", - "visibility": "internal" - }, - { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "id": 67, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 63, - "nodeType": "ParameterList", - "parameters": [], - "src": "762:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 65, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 67, - "src": "781:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "780:9:0" - }, - "scope": 68, - "src": "748:42:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 280, - "src": "313:479:0" - }, - "69": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 69, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "811:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "70": { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 69, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "811:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 70, - "nodeType": "InheritanceSpecifier", - "src": "811:4:0" - }, - "71": { - "certora_contract_name": "Left", - "id": 71, - "nodeType": "ParameterList", - "parameters": [], - "src": "833:2:0" - }, - "72": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 72, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "843:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "73": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "848:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "74": { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "848:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 74, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 72, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "843:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "843:7:0" - }, - "75": { - "certora_contract_name": "Left", - "id": 75, - "nodeType": "ParameterList", - "parameters": [], - "src": "851:0:0" - }, - "76": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "Block", - "src": "851:2:0", - "statements": [] - }, - "77": { - "body": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "Block", - "src": "851:2:0", - "statements": [] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 77, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "848:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 74, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 72, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "843:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "843:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 71, - "nodeType": "ParameterList", - "parameters": [], - "src": "833:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Left", - "id": 75, - "nodeType": "ParameterList", - "parameters": [], - "src": "851:0:0" - }, - "scope": 88, - "src": "822:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "78": { - "certora_contract_name": "Left", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "873:2:0" - }, - "79": { - "certora_contract_name": "Left", - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "80": { - "certora_contract_name": "Left", - "constant": false, - "id": 80, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 87, - "src": "892:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "81": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 80, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 87, - "src": "892:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "891:9:0" - }, - "82": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "83": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "84": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "918:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "85": { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "918:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 81, - "id": 85, - "nodeType": "Return", - "src": "911:17:0" - }, - "86": { - "certora_contract_name": "Left", - "id": 86, - "nodeType": "Block", - "src": "901:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "918:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 81, - "id": 85, - "nodeType": "Return", - "src": "911:17:0" - } - ] - }, - "87": { - "body": { - "certora_contract_name": "Left", - "id": 86, - "nodeType": "Block", - "src": "901:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "918:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 81, - "id": 85, - "nodeType": "Return", - "src": "911:17:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 87, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "873:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 80, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 87, - "src": "892:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "891:9:0" - }, - "scope": 88, - "src": "859:76:0", - "stateMutability": "nonpayable", - "superFunction": 67, - "visibility": "public" - }, - "88": { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 69, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "811:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 70, - "nodeType": "InheritanceSpecifier", - "src": "811:4:0" - } - ], - "contractDependencies": [ - 68 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 88, - "linearizedBaseContracts": [ - 88, - 68 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "Block", - "src": "851:2:0", - "statements": [] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 77, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "848:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 74, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 72, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "843:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "843:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 71, - "nodeType": "ParameterList", - "parameters": [], - "src": "833:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Left", - "id": 75, - "nodeType": "ParameterList", - "parameters": [], - "src": "851:0:0" - }, - "scope": 88, - "src": "822:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Left", - "id": 86, - "nodeType": "Block", - "src": "901:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "918:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 81, - "id": 85, - "nodeType": "Return", - "src": "911:17:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 87, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "873:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 80, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 87, - "src": "892:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "891:9:0" - }, - "scope": 88, - "src": "859:76:0", - "stateMutability": "nonpayable", - "superFunction": 67, - "visibility": "public" - } - ], - "scope": 280, - "src": "794:143:0" - }, - "89": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 89, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "958:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "90": { - "arguments": null, - "baseName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 89, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "958:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Middle", - "id": 90, - "nodeType": "InheritanceSpecifier", - "src": "958:4:0" - }, - "91": { - "certora_contract_name": "Middle", - "id": 91, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "991:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "92": { - "certora_contract_name": "Middle", - "constant": false, - "id": 92, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "991:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 91, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "991:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - "93": { - "certora_contract_name": "Middle", - "id": 93, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1011:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "94": { - "certora_contract_name": "Middle", - "constant": false, - "id": 94, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1011:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 93, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1011:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - "95": { - "canonicalName": "Middle.Slot", - "certora_contract_name": "Middle", - "id": 95, - "members": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 92, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "991:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 91, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "991:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 94, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1011:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 93, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1011:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Slot", - "nodeType": "StructDefinition", - "scope": 224, - "src": "969:59:0", - "visibility": "public" - }, - "96": { - "certora_contract_name": "Middle", - "id": 96, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1045:4:0" - }, - "97": { - "certora_contract_name": "Middle", - "id": 97, - "name": "Live", - "nodeType": "EnumValue", - "src": "1051:4:0" - }, - "98": { - "certora_contract_name": "Middle", - "id": 98, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1057:4:0" - }, - "99": { - "canonicalName": "Middle.Phase", - "certora_contract_name": "Middle", - "id": 99, - "members": [ - { - "certora_contract_name": "Middle", - "id": 96, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1045:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 97, - "name": "Live", - "nodeType": "EnumValue", - "src": "1051:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 98, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1057:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "1033:29:0" - }, - "100": { - "certora_contract_name": "Middle", - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1076:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "101": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 101, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1087:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "102": { - "certora_contract_name": "Middle", - "id": 102, - "keyType": { - "certora_contract_name": "Middle", - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1076:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1068:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 101, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1087:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "103": { - "certora_contract_name": "Middle", - "constant": false, - "id": 103, - "name": "slots", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1068:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 102, - "keyType": { - "certora_contract_name": "Middle", - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1076:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1068:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 101, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1087:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "value": null, - "visibility": "internal" - }, - "104": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 104, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "1113:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "105": { - "certora_contract_name": "Middle", - "constant": false, - "id": 105, - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1113:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 104, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "1113:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "value": null, - "visibility": "public" - }, - "106": { - "certora_contract_name": "Middle", - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "107": { - "baseType": { - "certora_contract_name": "Middle", - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 107, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1137:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "108": { - "certora_contract_name": "Middle", - "constant": false, - "id": 108, - "name": "series", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1137:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Middle", - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 107, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1137:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - "109": { - "certora_contract_name": "Middle", - "id": 109, - "nodeType": "ParameterList", - "parameters": [], - "src": "1178:2:0" - }, - "110": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 110, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1188:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "111": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "112": { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 112, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 110, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1188:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1188:7:0" - }, - "113": { - "certora_contract_name": "Middle", - "id": 113, - "nodeType": "ParameterList", - "parameters": [], - "src": "1196:0:0" - }, - "114": { - "certora_contract_name": "Middle", - "id": 114, - "nodeType": "Block", - "src": "1196:2:0", - "statements": [] - }, - "115": { - "body": { - "certora_contract_name": "Middle", - "id": 114, - "nodeType": "Block", - "src": "1196:2:0", - "statements": [] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 115, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 112, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 110, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1188:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1188:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 109, - "nodeType": "ParameterList", - "parameters": [], - "src": "1178:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 113, - "nodeType": "ParameterList", - "parameters": [], - "src": "1196:0:0" - }, - "scope": 224, - "src": "1167:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "116": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1268:2:0" - }, - "117": { - "certora_contract_name": "Middle", - "id": 117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "118": { - "certora_contract_name": "Middle", - "constant": false, - "id": 118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1287:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "119": { - "certora_contract_name": "Middle", - "id": 119, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1287:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:9:0" - }, - "120": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "121": { - "certora_contract_name": "Middle", - "constant": false, - "id": 121, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - }, - "122": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "123": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "124": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "125": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 125, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "126": { - "assignments": [ - 121 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 121, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 126, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 125, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:33:0" - }, - "127": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "128": { - "certora_contract_name": "Middle", - "constant": false, - "id": 128, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1349:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "129": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "130": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "131": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "132": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "133": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "134": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "135": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "136": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "137": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1363:29:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "138": { - "assignments": [ - 128 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 128, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1349:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1363:29:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1349:43:0" - }, - "139": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "140": { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "141": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "142": { - "assignments": [ - 140 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1407:13:0" - }, - "143": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "144": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "145": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1422:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "146": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "147": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "148": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 148, - "nodeType": "ExpressionStatement", - "src": "1429:3:0" - }, - "149": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "150": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "151": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "152": { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - }, - "153": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - }, - "154": { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - "155": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "156": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "157": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "158": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "159": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "160": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "161": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "162": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - }, - "163": { - "certora_contract_name": "Middle", - "id": 163, - "nodeType": "Block", - "src": "1434:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - } - ] - }, - "164": { - "body": { - "certora_contract_name": "Middle", - "id": 163, - "nodeType": "Block", - "src": "1434:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1422:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 164, - "initializationExpression": { - "assignments": [ - 140 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1407:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 148, - "nodeType": "ExpressionStatement", - "src": "1429:3:0" - }, - "nodeType": "ForStatement", - "src": "1402:148:0" - }, - "165": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "166": { - "certora_contract_name": "Middle", - "constant": false, - "id": 166, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1559:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "167": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1571:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "168": { - "assignments": [ - 166 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 166, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1559:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 168, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1571:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1559:13:0" - }, - "169": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "170": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "171": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1589:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "172": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "173": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "174": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - }, - "175": { - "certora_contract_name": "Middle", - "id": 175, - "nodeType": "Block", - "src": "1596:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - } - ] - }, - "176": { - "body": { - "certora_contract_name": "Middle", - "id": 175, - "nodeType": "Block", - "src": "1596:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1589:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 176, - "nodeType": "WhileStatement", - "src": "1582:42:0" - }, - "177": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "178": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "179": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - }, - "180": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1636:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - } - ] - }, - "181": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "182": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "183": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1672:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "184": { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1636:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1672:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 184, - "nodeType": "DoWhileStatement", - "src": "1633:46:0" - }, - "185": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "186": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "187": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "188": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "189": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "190": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "191": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "192": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "193": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "194": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "195": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1688:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "196": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1688:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1688:41:0" - }, - "197": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "198": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "199": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "200": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "201": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1739:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "202": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1739:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "1739:24:0" - }, - "203": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "204": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "205": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "206": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "207": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1778:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "208": { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1778:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 208, - "nodeType": "EmitStatement", - "src": "1773:28:0" - }, - "209": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 209, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1818:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "210": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 209, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1818:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 119, - "id": 210, - "nodeType": "Return", - "src": "1811:10:0" - }, - "211": { - "certora_contract_name": "Middle", - "id": 211, - "nodeType": "Block", - "src": "1296:532:0", - "statements": [ - { - "assignments": [ - 121 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 121, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 126, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 125, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:33:0" - }, - { - "assignments": [ - 128 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 128, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1349:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1363:29:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1349:43:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 163, - "nodeType": "Block", - "src": "1434:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1422:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 164, - "initializationExpression": { - "assignments": [ - 140 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1407:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 148, - "nodeType": "ExpressionStatement", - "src": "1429:3:0" - }, - "nodeType": "ForStatement", - "src": "1402:148:0" - }, - { - "assignments": [ - 166 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 166, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1559:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 168, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1571:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1559:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 175, - "nodeType": "Block", - "src": "1596:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1589:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 176, - "nodeType": "WhileStatement", - "src": "1582:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1636:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1672:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 184, - "nodeType": "DoWhileStatement", - "src": "1633:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1688:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1688:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1739:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "1739:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1778:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 208, - "nodeType": "EmitStatement", - "src": "1773:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 209, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1818:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 119, - "id": 210, - "nodeType": "Return", - "src": "1811:10:0" - } - ] - }, - "212": { - "body": { - "certora_contract_name": "Middle", - "id": 211, - "nodeType": "Block", - "src": "1296:532:0", - "statements": [ - { - "assignments": [ - 121 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 121, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 126, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 125, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:33:0" - }, - { - "assignments": [ - 128 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 128, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1349:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1363:29:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1349:43:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 163, - "nodeType": "Block", - "src": "1434:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1422:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 164, - "initializationExpression": { - "assignments": [ - 140 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1407:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 148, - "nodeType": "ExpressionStatement", - "src": "1429:3:0" - }, - "nodeType": "ForStatement", - "src": "1402:148:0" - }, - { - "assignments": [ - 166 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 166, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1559:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 168, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1571:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1559:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 175, - "nodeType": "Block", - "src": "1596:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1589:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 176, - "nodeType": "WhileStatement", - "src": "1582:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1636:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1672:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 184, - "nodeType": "DoWhileStatement", - "src": "1633:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1688:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1688:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1739:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "1739:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1778:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 208, - "nodeType": "EmitStatement", - "src": "1773:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 209, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1818:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 119, - "id": 210, - "nodeType": "Return", - "src": "1811:10:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": "@notice function NatSpec, 0.4 string form", - "id": 212, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1268:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 119, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1287:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:9:0" - }, - "scope": 224, - "src": "1254:574:0", - "stateMutability": "nonpayable", - "superFunction": 67, - "visibility": "public" - }, - "213": { - "certora_contract_name": "Middle", - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "214": { - "certora_contract_name": "Middle", - "constant": false, - "id": 214, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1849:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "215": { - "certora_contract_name": "Middle", - "id": 215, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 214, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1849:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1848:16:0" - }, - "216": { - "certora_contract_name": "Middle", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "217": { - "certora_contract_name": "Middle", - "constant": false, - "id": 217, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1886:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "218": { - "certora_contract_name": "Middle", - "id": 218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1900:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "219": { - "certora_contract_name": "Middle", - "constant": false, - "id": 219, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1900:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1900:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - "220": { - "certora_contract_name": "Middle", - "id": 220, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 217, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1886:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 219, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1900:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1900:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1885:28:0" - }, - "221": { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "1947:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2071:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2181:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "2029:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "1967:6:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "2145:6:0", - "valueSize": 1 - } - } - ], - "id": 221, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", - "src": "1924:305:0" - }, - "222": { - "certora_contract_name": "Middle", - "id": 222, - "nodeType": "Block", - "src": "1914:315:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "1947:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2071:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2181:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "2029:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "1967:6:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "2145:6:0", - "valueSize": 1 - } - } - ], - "id": 221, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", - "src": "1924:305:0" - } - ] - }, - "223": { - "body": { - "certora_contract_name": "Middle", - "id": 222, - "nodeType": "Block", - "src": "1914:315:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "1947:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2071:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2181:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "2029:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "1967:6:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "2145:6:0", - "valueSize": 1 - } - } - ], - "id": 221, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", - "src": "1924:305:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 215, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 214, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1849:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1848:16:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 220, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 217, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1886:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 219, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1900:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1900:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1885:28:0" - }, - "scope": 224, - "src": "1834:395:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "224": { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 89, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "958:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Middle", - "id": 90, - "nodeType": "InheritanceSpecifier", - "src": "958:4:0" - } - ], - "contractDependencies": [ - 68 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 224, - "linearizedBaseContracts": [ - 224, - 68 - ], - "name": "Middle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Middle.Slot", - "certora_contract_name": "Middle", - "id": 95, - "members": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 92, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "991:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 91, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "991:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 94, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1011:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 93, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1011:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Slot", - "nodeType": "StructDefinition", - "scope": 224, - "src": "969:59:0", - "visibility": "public" - }, - { - "canonicalName": "Middle.Phase", - "certora_contract_name": "Middle", - "id": 99, - "members": [ - { - "certora_contract_name": "Middle", - "id": 96, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1045:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 97, - "name": "Live", - "nodeType": "EnumValue", - "src": "1051:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 98, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1057:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "1033:29:0" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 103, - "name": "slots", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1068:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 102, - "keyType": { - "certora_contract_name": "Middle", - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1076:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1068:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 101, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1087:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 105, - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1113:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 104, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "1113:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 108, - "name": "series", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1137:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Middle", - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 107, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1137:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 114, - "nodeType": "Block", - "src": "1196:2:0", - "statements": [] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 115, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 112, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 110, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1188:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1188:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 109, - "nodeType": "ParameterList", - "parameters": [], - "src": "1178:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 113, - "nodeType": "ParameterList", - "parameters": [], - "src": "1196:0:0" - }, - "scope": 224, - "src": "1167:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 211, - "nodeType": "Block", - "src": "1296:532:0", - "statements": [ - { - "assignments": [ - 121 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 121, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 126, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 125, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:33:0" - }, - { - "assignments": [ - 128 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 128, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1349:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1363:29:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1349:43:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 163, - "nodeType": "Block", - "src": "1434:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1422:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 164, - "initializationExpression": { - "assignments": [ - 140 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1407:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 148, - "nodeType": "ExpressionStatement", - "src": "1429:3:0" - }, - "nodeType": "ForStatement", - "src": "1402:148:0" - }, - { - "assignments": [ - 166 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 166, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1559:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 168, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1571:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1559:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 175, - "nodeType": "Block", - "src": "1596:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1589:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 176, - "nodeType": "WhileStatement", - "src": "1582:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1636:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1672:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 184, - "nodeType": "DoWhileStatement", - "src": "1633:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1688:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1688:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1739:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "1739:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1778:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 208, - "nodeType": "EmitStatement", - "src": "1773:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 209, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1818:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 119, - "id": 210, - "nodeType": "Return", - "src": "1811:10:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": "@notice function NatSpec, 0.4 string form", - "id": 212, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1268:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 119, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1287:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:9:0" - }, - "scope": 224, - "src": "1254:574:0", - "stateMutability": "nonpayable", - "superFunction": 67, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 222, - "nodeType": "Block", - "src": "1914:315:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "1947:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2071:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2181:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "2029:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "1967:6:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "2145:6:0", - "valueSize": 1 - } - } - ], - "id": 221, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", - "src": "1924:305:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 215, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 214, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1849:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1848:16:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 220, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 217, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1886:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 219, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1900:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1900:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1885:28:0" - }, - "scope": 224, - "src": "1834:395:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 280, - "src": "939:1292:0" - }, - "225": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 225, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7, - "src": "2253:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$7", - "typeString": "contract IToken" - } - }, - "226": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 225, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7, - "src": "2253:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$7", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 226, - "nodeType": "InheritanceSpecifier", - "src": "2253:6:0" - }, - "227": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 227, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 88, - "src": "2261:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$88", - "typeString": "contract Left" - } - }, - "228": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 227, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 88, - "src": "2261:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$88", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 228, - "nodeType": "InheritanceSpecifier", - "src": "2261:4:0" - }, - "229": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2272:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "230": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 230, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "2272:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2272:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - "231": { - "certora_contract_name": "Diamond", - "id": 231, - "nodeType": "ParameterList", - "parameters": [], - "src": "2312:2:0" - }, - "232": { - "certora_contract_name": "Diamond", - "id": 232, - "nodeType": "ParameterList", - "parameters": [], - "src": "2322:0:0" - }, - "233": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "234": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "235": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "236": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "237": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "238": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "239": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "240": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "241": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2332:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "242": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2332:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2332:34:0" - }, - "243": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "244": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 244, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 266, - "src": "2376:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - "245": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "246": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "247": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "248": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "249": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "250": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "251": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - }, - "252": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "253": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2396:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "254": { - "assignments": [ - 244 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 244, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 266, - "src": "2376:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 254, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2396:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2376:62:0" - }, - "255": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "256": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "257": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "258": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "259": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - }, - "260": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "261": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "262": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "263": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2448:45:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "264": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2448:45:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "2448:45:0" - }, - "265": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "Block", - "src": "2322:178:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2332:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2332:34:0" - }, - { - "assignments": [ - 244 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 244, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 266, - "src": "2376:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 254, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2396:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2376:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2448:45:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "2448:45:0" - } - ] - }, - "266": { - "body": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "Block", - "src": "2322:178:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2332:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2332:34:0" - }, - { - "assignments": [ - 244 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 244, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 266, - "src": "2376:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 254, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2396:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2376:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2448:45:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "2448:45:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 266, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 231, - "nodeType": "ParameterList", - "parameters": [], - "src": "2312:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 232, - "nodeType": "ParameterList", - "parameters": [], - "src": "2322:0:0" - }, - "scope": 279, - "src": "2301:199:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "267": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [], - "src": "2526:2:0" - }, - "268": { - "certora_contract_name": "Diamond", - "id": 268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2552:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "269": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "2552:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2552:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "270": { - "certora_contract_name": "Diamond", - "id": 270, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "2552:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2552:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2551:9:0" - }, - "271": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 271, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2578:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "272": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 271, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2578:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 270, - "id": 272, - "nodeType": "Return", - "src": "2571:13:0" - }, - "273": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "Block", - "src": "2561:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 271, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2578:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 270, - "id": 272, - "nodeType": "Return", - "src": "2571:13:0" - } - ] - }, - "274": { - "body": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "Block", - "src": "2561:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 271, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2578:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 270, - "id": 272, - "nodeType": "Return", - "src": "2571:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [], - "src": "2526:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 270, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "2552:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2552:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2551:9:0" - }, - "scope": 279, - "src": "2506:85:0", - "stateMutability": "view", - "superFunction": 6, - "visibility": "external" - }, - "275": { - "certora_contract_name": "Diamond", - "id": 275, - "nodeType": "ParameterList", - "parameters": [], - "src": "2605:2:0" - }, - "276": { - "certora_contract_name": "Diamond", - "id": 276, - "nodeType": "ParameterList", - "parameters": [], - "src": "2625:0:0" - }, - "277": { - "certora_contract_name": "Diamond", - "id": 277, - "nodeType": "Block", - "src": "2625:2:0", - "statements": [] - }, - "278": { - "body": { - "certora_contract_name": "Diamond", - "id": 277, - "nodeType": "Block", - "src": "2625:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 278, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 275, - "nodeType": "ParameterList", - "parameters": [], - "src": "2605:2:0" - }, - "payable": true, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 276, - "nodeType": "ParameterList", - "parameters": [], - "src": "2625:0:0" - }, - "scope": 279, - "src": "2597:30:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - "279": { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 225, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7, - "src": "2253:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$7", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 226, - "nodeType": "InheritanceSpecifier", - "src": "2253:6:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 227, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 88, - "src": "2261:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$88", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 228, - "nodeType": "InheritanceSpecifier", - "src": "2261:4:0" - } - ], - "contractDependencies": [ - 7, - 68, - 88 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 279, - "linearizedBaseContracts": [ - 279, - 88, - 68, - 7 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 230, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "2272:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2272:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "Block", - "src": "2322:178:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2332:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2332:34:0" - }, - { - "assignments": [ - 244 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 244, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 266, - "src": "2376:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 254, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2396:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2376:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2448:45:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "2448:45:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 266, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 231, - "nodeType": "ParameterList", - "parameters": [], - "src": "2312:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 232, - "nodeType": "ParameterList", - "parameters": [], - "src": "2322:0:0" - }, - "scope": 279, - "src": "2301:199:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "Block", - "src": "2561:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 271, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2578:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 270, - "id": 272, - "nodeType": "Return", - "src": "2571:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [], - "src": "2526:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 270, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "2552:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2552:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2551:9:0" - }, - "scope": 279, - "src": "2506:85:0", - "stateMutability": "view", - "superFunction": 6, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 277, - "nodeType": "Block", - "src": "2625:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 278, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 275, - "nodeType": "ParameterList", - "parameters": [], - "src": "2605:2:0" - }, - "payable": true, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 276, - "nodeType": "ParameterList", - "parameters": [], - "src": "2625:0:0" - }, - "scope": 279, - "src": "2597:30:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 280, - "src": "2233:396:0" - }, - "280": { - "absolutePath": "breadth_04.sol", - "exportedSymbols": { - "Base": [ - 68 - ], - "Diamond": [ - 279 - ], - "IToken": [ - 7 - ], - "Left": [ - 88 - ], - "MathLib": [ - 22 - ], - "Middle": [ - 224 - ] - }, - "id": 280, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title 0.4-era interface", - "fullyImplemented": false, - "id": 7, - "linearizedBaseContracts": [ - 7 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "id": 6, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 2, - "nodeType": "ParameterList", - "parameters": [], - "src": "98:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 5, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 4, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "124:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:9:0" - }, - "scope": 7, - "src": "78:55:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 280, - "src": "55:80:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 22, - "linearizedBaseContracts": [ - 22 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 20, - "nodeType": "Block", - "src": "226:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 16, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "243:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "247:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "243:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 15, - "id": 19, - "nodeType": "Return", - "src": "236:12:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 21, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 9, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "172:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 8, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 11, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "183:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "171:22:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 14, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 21, - "src": "217:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "217:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "216:9:0" - }, - "scope": 22, - "src": "159:96:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 280, - "src": "137:120:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract-level NatSpec in the 0.4 dialect", - "fullyImplemented": false, - "id": 68, - "linearizedBaseContracts": [ - 68 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 24, - "name": "stored", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "357:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "357:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "id": 27, - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "384:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 25, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "384:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "416:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 29, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "425:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 28, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "425:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 35, - "name": "Stored", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 34, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 31, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "467:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 33, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "488:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:36:0" - }, - "src": "454:49:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 49, - "nodeType": "Block", - "src": "585:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 40, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "595:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "604:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "595:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "595:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 44, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "621:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "629:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "629:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 48, - "nodeType": "ExpressionStatement", - "src": "621:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": "@param initial the seed value", - "id": 50, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 37, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 50, - "src": "559:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "559:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "558:17:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [], - "src": "585:0:0" - }, - "scope": 68, - "src": "547:99:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "Block", - "src": "673:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 53, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "691:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "691:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 55, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29, - "src": "705:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "691:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "712:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 52, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 297, - 298 - ], - "referencedDeclaration": 298, - "src": "683:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "683:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "683:41:0" - }, - { - "certora_contract_name": "Base", - "id": 60, - "nodeType": "PlaceholderStatement", - "src": "734:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 62, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 51, - "nodeType": "ParameterList", - "parameters": [], - "src": "670:2:0" - }, - "src": "652:90:0", - "visibility": "internal" - }, - { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "id": 67, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 63, - "nodeType": "ParameterList", - "parameters": [], - "src": "762:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 65, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 67, - "src": "781:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "780:9:0" - }, - "scope": 68, - "src": "748:42:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 280, - "src": "313:479:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 69, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "811:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 70, - "nodeType": "InheritanceSpecifier", - "src": "811:4:0" - } - ], - "contractDependencies": [ - 68 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 88, - "linearizedBaseContracts": [ - 88, - 68 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "Block", - "src": "851:2:0", - "statements": [] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 77, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "848:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 74, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 72, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "843:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "843:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 71, - "nodeType": "ParameterList", - "parameters": [], - "src": "833:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Left", - "id": 75, - "nodeType": "ParameterList", - "parameters": [], - "src": "851:0:0" - }, - "scope": 88, - "src": "822:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Left", - "id": 86, - "nodeType": "Block", - "src": "901:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 82, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "918:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "918:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 81, - "id": 85, - "nodeType": "Return", - "src": "911:17:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 87, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "873:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 80, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 87, - "src": "892:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "891:9:0" - }, - "scope": 88, - "src": "859:76:0", - "stateMutability": "nonpayable", - "superFunction": 67, - "visibility": "public" - } - ], - "scope": 280, - "src": "794:143:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 89, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 68, - "src": "958:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$68", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Middle", - "id": 90, - "nodeType": "InheritanceSpecifier", - "src": "958:4:0" - } - ], - "contractDependencies": [ - 68 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 224, - "linearizedBaseContracts": [ - 224, - 68 - ], - "name": "Middle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Middle.Slot", - "certora_contract_name": "Middle", - "id": 95, - "members": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 92, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "991:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 91, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "991:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 94, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1011:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 93, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1011:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Slot", - "nodeType": "StructDefinition", - "scope": 224, - "src": "969:59:0", - "visibility": "public" - }, - { - "canonicalName": "Middle.Phase", - "certora_contract_name": "Middle", - "id": 99, - "members": [ - { - "certora_contract_name": "Middle", - "id": 96, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1045:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 97, - "name": "Live", - "nodeType": "EnumValue", - "src": "1051:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 98, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1057:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "1033:29:0" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 103, - "name": "slots", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1068:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 102, - "keyType": { - "certora_contract_name": "Middle", - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1076:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1068:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 101, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1087:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 105, - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1113:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 104, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "1113:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 108, - "name": "series", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "1137:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Middle", - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 107, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1137:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 114, - "nodeType": "Block", - "src": "1196:2:0", - "statements": [] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 115, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 112, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 110, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1188:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$68_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1188:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 109, - "nodeType": "ParameterList", - "parameters": [], - "src": "1178:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 113, - "nodeType": "ParameterList", - "parameters": [], - "src": "1196:0:0" - }, - "scope": 224, - "src": "1167:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 211, - "nodeType": "Block", - "src": "1296:532:0", - "statements": [ - { - "assignments": [ - 121 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 121, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 120, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "1306:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 126, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 122, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1322:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 125, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1328:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1328:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:33:0" - }, - { - "assignments": [ - 128 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 128, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1349:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 130, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1371:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 92, - "src": "1371:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1363:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1363:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 134, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "1387:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "1387:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1379:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1379:13:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1363:29:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1349:43:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 163, - "nodeType": "Block", - "src": "1434:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1452:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1452:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 154, - "nodeType": "IfStatement", - "src": "1448:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 153, - "nodeType": "Block", - "src": "1460:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 152, - "nodeType": "Continue", - "src": "1478:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 155, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1514:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 158, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1532:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1537:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 156, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "1520:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$22_$", - "typeString": "type(library MathLib)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 21, - "src": "1520:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1514:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1514:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1422:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1422:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 164, - "initializationExpression": { - "assignments": [ - 140 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1407:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1407:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1419:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1407:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1429:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 146, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1429:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 148, - "nodeType": "ExpressionStatement", - "src": "1429:3:0" - }, - "nodeType": "ForStatement", - "src": "1402:148:0" - }, - { - "assignments": [ - 166 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 166, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1559:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1559:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 168, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1571:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1559:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 175, - "nodeType": "Block", - "src": "1596:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1610:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1610:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1610:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 169, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1589:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1593:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1589:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 176, - "nodeType": "WhileStatement", - "src": "1582:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1636:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1650:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 177, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1650:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1650:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 181, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1672:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1672:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 184, - "nodeType": "DoWhileStatement", - "src": "1633:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 185, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1688:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1694:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 187, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "1703:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$99_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1703:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$99", - "typeString": "enum Middle.Phase" - } - }, - "src": "1694:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 193, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1726:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1694:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1716:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1722:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1716:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1688:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1688:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1739:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 197, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1746:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$95_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 200, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1752:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1752:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1746:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$95_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "1739:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "1785:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1785:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 206, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1797:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 203, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1778:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1778:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 208, - "nodeType": "EmitStatement", - "src": "1773:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 209, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "1818:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 119, - "id": 210, - "nodeType": "Return", - "src": "1811:10:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": "@notice function NatSpec, 0.4 string form", - "id": 212, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1268:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 119, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 212, - "src": "1287:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:9:0" - }, - "scope": 224, - "src": "1254:574:0", - "stateMutability": "nonpayable", - "superFunction": 67, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 222, - "nodeType": "Block", - "src": "1914:315:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "1947:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2071:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 219, - "isOffset": false, - "isSlot": false, - "src": "2181:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 217, - "isOffset": false, - "isSlot": false, - "src": "2029:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "1967:6:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 214, - "isOffset": false, - "isSlot": false, - "src": "2145:6:0", - "valueSize": 1 - } - } - ], - "id": 221, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 {\n head := 0\n }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n}", - "src": "1924:305:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 215, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 214, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1849:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1848:16:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 220, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 217, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1886:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 219, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1900:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1900:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1885:28:0" - }, - "scope": 224, - "src": "1834:395:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 280, - "src": "939:1292:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 225, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7, - "src": "2253:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$7", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 226, - "nodeType": "InheritanceSpecifier", - "src": "2253:6:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 227, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 88, - "src": "2261:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$88", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 228, - "nodeType": "InheritanceSpecifier", - "src": "2261:4:0" - } - ], - "contractDependencies": [ - 7, - 68, - 88 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 279, - "linearizedBaseContracts": [ - 279, - 88, - 68, - 7 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 230, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "2272:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2272:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "Block", - "src": "2322:178:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 233, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2332:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2356:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2342:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 235, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2346:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 239, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2341:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2341:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2332:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2332:34:0" - }, - { - "assignments": [ - 244 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 244, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 266, - "src": "2376:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 243, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2376:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 254, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2420:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2413:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2432:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2424:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2424:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 245, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2396:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2396:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2376:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 255, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2448:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 256, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2458:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2458:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "2480:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$279", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2472:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2472:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2458:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2448:45:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "2448:45:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 266, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 231, - "nodeType": "ParameterList", - "parameters": [], - "src": "2312:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 232, - "nodeType": "ParameterList", - "parameters": [], - "src": "2322:0:0" - }, - "scope": 279, - "src": "2301:199:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "Block", - "src": "2561:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 271, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "2578:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 270, - "id": 272, - "nodeType": "Return", - "src": "2571:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 274, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [], - "src": "2526:2:0" - }, - "payable": false, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 270, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 269, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "2552:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2552:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2551:9:0" - }, - "scope": 279, - "src": "2506:85:0", - "stateMutability": "view", - "superFunction": 6, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 277, - "nodeType": "Block", - "src": "2625:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 278, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 275, - "nodeType": "ParameterList", - "parameters": [], - "src": "2605:2:0" - }, - "payable": true, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 276, - "nodeType": "ParameterList", - "parameters": [], - "src": "2625:0:0" - }, - "scope": 279, - "src": "2597:30:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 280, - "src": "2233:396:0" - } - ], - "src": "0:2630:0" - } - } - } -} diff --git a/tests/fixtures/solidity_ast/solc_0_5_17.asts.json b/tests/fixtures/solidity_ast/solc_0_5_17.asts.json deleted file mode 100644 index 37c39f7..0000000 --- a/tests/fixtures/solidity_ast/solc_0_5_17.asts.json +++ /dev/null @@ -1,25722 +0,0 @@ -{ - "breadth_05.sol": { - "breadth_05.sol": { - "1": { - "id": 1, - "literals": [ - "solidity", - "^", - "0.5", - ".17" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - "2": { - "id": 2, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "25:33:0" - }, - "3": { - "certora_contract_name": "IToken", - "id": 3, - "nodeType": "ParameterList", - "parameters": [], - "src": "154:2:0" - }, - "4": { - "certora_contract_name": "IToken", - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "5": { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7, - "src": "180:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "6": { - "certora_contract_name": "IToken", - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7, - "src": "180:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "179:9:0" - }, - "7": { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "id": 7, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 3, - "nodeType": "ParameterList", - "parameters": [], - "src": "154:2:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7, - "src": "180:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "179:9:0" - }, - "scope": 8, - "src": "134:55:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - "8": { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title Interface exercising 0.5-era AST shapes", - "fullyImplemented": false, - "id": 8, - "linearizedBaseContracts": [ - 8 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "id": 7, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 3, - "nodeType": "ParameterList", - "parameters": [], - "src": "154:2:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7, - "src": "180:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "179:9:0" - }, - "scope": 8, - "src": "134:55:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 304, - "src": "111:80:0" - }, - "9": { - "certora_contract_name": "MathLib", - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "10": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 10, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "228:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "11": { - "certora_contract_name": "MathLib", - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "12": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 12, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "239:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "13": { - "certora_contract_name": "MathLib", - "id": 13, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 10, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "228:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 12, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "239:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:22:0" - }, - "14": { - "certora_contract_name": "MathLib", - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "15": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 15, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "273:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "16": { - "certora_contract_name": "MathLib", - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 15, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "273:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:9:0" - }, - "17": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "18": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "19": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "299:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "20": { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "299:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16, - "id": 20, - "nodeType": "Return", - "src": "292:12:0" - }, - "21": { - "certora_contract_name": "MathLib", - "id": 21, - "nodeType": "Block", - "src": "282:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "299:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16, - "id": 20, - "nodeType": "Return", - "src": "292:12:0" - } - ] - }, - "22": { - "body": { - "certora_contract_name": "MathLib", - "id": 21, - "nodeType": "Block", - "src": "282:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "299:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16, - "id": 20, - "nodeType": "Return", - "src": "292:12:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 22, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 13, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 10, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "228:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 12, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "239:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 15, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "273:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:9:0" - }, - "scope": 23, - "src": "215:96:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - "23": { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 23, - "linearizedBaseContracts": [ - 23 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 21, - "nodeType": "Block", - "src": "282:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "299:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16, - "id": 20, - "nodeType": "Return", - "src": "292:12:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 22, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 13, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 10, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "228:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 12, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "239:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 15, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "273:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:9:0" - }, - "scope": 23, - "src": "215:96:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 304, - "src": "193:120:0" - }, - "24": { - "certora_contract_name": "Base", - "id": 24, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "25": { - "certora_contract_name": "Base", - "constant": false, - "id": 25, - "name": "stored", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "437:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 24, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - "26": { - "certora_contract_name": "Base", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "464:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "27": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "496:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "28": { - "certora_contract_name": "Base", - "constant": true, - "id": 28, - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "464:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "464:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "496:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - "29": { - "certora_contract_name": "Base", - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "505:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "30": { - "certora_contract_name": "Base", - "constant": false, - "id": 30, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "505:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "505:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "31": { - "certora_contract_name": "Base", - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "32": { - "certora_contract_name": "Base", - "constant": false, - "id": 32, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "547:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "33": { - "certora_contract_name": "Base", - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "34": { - "certora_contract_name": "Base", - "constant": false, - "id": 34, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "568:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "35": { - "certora_contract_name": "Base", - "id": 35, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 32, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "547:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 34, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "568:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "546:36:0" - }, - "36": { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 36, - "name": "Stored", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 35, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 32, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "547:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 34, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "568:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "546:36:0" - }, - "src": "534:49:0" - }, - "37": { - "certora_contract_name": "Base", - "id": 37, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "38": { - "certora_contract_name": "Base", - "constant": false, - "id": 38, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "639:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 37, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "39": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 38, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "639:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 37, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "638:17:0" - }, - "40": { - "certora_contract_name": "Base", - "id": 40, - "nodeType": "ParameterList", - "parameters": [], - "src": "665:0:0" - }, - "41": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "42": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "43": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "675:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "44": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "675:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44, - "nodeType": "ExpressionStatement", - "src": "675:16:0" - }, - "45": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "46": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "47": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "48": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "701:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "49": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "701:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 49, - "nodeType": "ExpressionStatement", - "src": "701:18:0" - }, - "50": { - "certora_contract_name": "Base", - "id": 50, - "nodeType": "Block", - "src": "665:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "675:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44, - "nodeType": "ExpressionStatement", - "src": "675:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "701:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 49, - "nodeType": "ExpressionStatement", - "src": "701:18:0" - } - ] - }, - "51": { - "body": { - "certora_contract_name": "Base", - "id": 50, - "nodeType": "Block", - "src": "665:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "675:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44, - "nodeType": "ExpressionStatement", - "src": "675:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "701:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 49, - "nodeType": "ExpressionStatement", - "src": "701:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": "@param initial the seed value", - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 38, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "639:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 37, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "638:17:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 40, - "nodeType": "ParameterList", - "parameters": [], - "src": "665:0:0" - }, - "scope": 73, - "src": "627:99:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - "52": { - "certora_contract_name": "Base", - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:0" - }, - "53": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "54": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "55": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "56": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "57": { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "58": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - }, - "59": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "763:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "60": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "763:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "763:41:0" - }, - "61": { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "PlaceholderStatement", - "src": "814:1:0" - }, - "62": { - "certora_contract_name": "Base", - "id": 62, - "nodeType": "Block", - "src": "753:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "763:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "763:41:0" - }, - { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "PlaceholderStatement", - "src": "814:1:0" - } - ] - }, - "63": { - "body": { - "certora_contract_name": "Base", - "id": 62, - "nodeType": "Block", - "src": "753:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "763:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "763:41:0" - }, - { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "PlaceholderStatement", - "src": "814:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 63, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:0" - }, - "src": "732:90:0", - "visibility": "internal" - }, - "64": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [], - "src": "842:2:0" - }, - "65": { - "certora_contract_name": "Base", - "id": 65, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "66": { - "certora_contract_name": "Base", - "constant": false, - "id": 66, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "861:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 65, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "67": { - "certora_contract_name": "Base", - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 66, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "861:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 65, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:9:0" - }, - "68": { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "id": 68, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [], - "src": "842:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 66, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "861:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 65, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:9:0" - }, - "scope": 73, - "src": "828:42:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "69": { - "certora_contract_name": "Base", - "id": 69, - "nodeType": "ParameterList", - "parameters": [], - "src": "895:2:0" - }, - "70": { - "certora_contract_name": "Base", - "id": 70, - "nodeType": "PlaceholderStatement", - "src": "908:1:0" - }, - "71": { - "certora_contract_name": "Base", - "id": 71, - "nodeType": "Block", - "src": "898:18:0", - "statements": [ - { - "certora_contract_name": "Base", - "id": 70, - "nodeType": "PlaceholderStatement", - "src": "908:1:0" - } - ] - }, - "72": { - "body": { - "certora_contract_name": "Base", - "id": 71, - "nodeType": "Block", - "src": "898:18:0", - "statements": [ - { - "certora_contract_name": "Base", - "id": 70, - "nodeType": "PlaceholderStatement", - "src": "908:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 72, - "name": "virtualish", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 69, - "nodeType": "ParameterList", - "parameters": [], - "src": "895:2:0" - }, - "src": "876:40:0", - "visibility": "internal" - }, - "73": { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract-level NatSpec: plain-string `documentation` in 0.5 dumps", - "fullyImplemented": false, - "id": 73, - "linearizedBaseContracts": [ - 73 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 25, - "name": "stored", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "437:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 24, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "id": 28, - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "464:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "464:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "496:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 30, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "505:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "505:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 36, - "name": "Stored", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 35, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 32, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "547:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 34, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "568:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "546:36:0" - }, - "src": "534:49:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 50, - "nodeType": "Block", - "src": "665:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "675:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44, - "nodeType": "ExpressionStatement", - "src": "675:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "701:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 49, - "nodeType": "ExpressionStatement", - "src": "701:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": "@param initial the seed value", - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 38, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "639:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 37, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "638:17:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 40, - "nodeType": "ParameterList", - "parameters": [], - "src": "665:0:0" - }, - "scope": 73, - "src": "627:99:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 62, - "nodeType": "Block", - "src": "753:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "763:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "763:41:0" - }, - { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "PlaceholderStatement", - "src": "814:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 63, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:0" - }, - "src": "732:90:0", - "visibility": "internal" - }, - { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "id": 68, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [], - "src": "842:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 66, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "861:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 65, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:9:0" - }, - "scope": 73, - "src": "828:42:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 71, - "nodeType": "Block", - "src": "898:18:0", - "statements": [ - { - "certora_contract_name": "Base", - "id": 70, - "nodeType": "PlaceholderStatement", - "src": "908:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 72, - "name": "virtualish", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 69, - "nodeType": "ParameterList", - "parameters": [], - "src": "895:2:0" - }, - "src": "876:40:0", - "visibility": "internal" - } - ], - "scope": 304, - "src": "393:525:0" - }, - "74": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 74, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "937:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "75": { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 74, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "937:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 75, - "nodeType": "InheritanceSpecifier", - "src": "937:4:0" - }, - "76": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "ParameterList", - "parameters": [], - "src": "959:2:0" - }, - "77": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 77, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "969:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "78": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "974:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "79": { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "974:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 79, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 77, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "969:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "969:7:0" - }, - "80": { - "certora_contract_name": "Left", - "id": 80, - "nodeType": "ParameterList", - "parameters": [], - "src": "977:0:0" - }, - "81": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "Block", - "src": "977:2:0", - "statements": [] - }, - "82": { - "body": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "Block", - "src": "977:2:0", - "statements": [] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 82, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "974:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 79, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 77, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "969:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "969:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "ParameterList", - "parameters": [], - "src": "959:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 80, - "nodeType": "ParameterList", - "parameters": [], - "src": "977:0:0" - }, - "scope": 95, - "src": "948:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "83": { - "certora_contract_name": "Left", - "id": 83, - "nodeType": "ParameterList", - "parameters": [], - "src": "999:2:0" - }, - "84": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 84, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1009:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "85": { - "arguments": null, - "certora_contract_name": "Left", - "id": 85, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 84, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1009:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1009:10:0" - }, - "86": { - "certora_contract_name": "Left", - "id": 86, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "87": { - "certora_contract_name": "Left", - "constant": false, - "id": 87, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1029:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 86, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "88": { - "certora_contract_name": "Left", - "id": 88, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 87, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1029:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 86, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1028:9:0" - }, - "89": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "90": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "91": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1055:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "92": { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1055:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88, - "id": 92, - "nodeType": "Return", - "src": "1048:17:0" - }, - "93": { - "certora_contract_name": "Left", - "id": 93, - "nodeType": "Block", - "src": "1038:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1055:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88, - "id": 92, - "nodeType": "Return", - "src": "1048:17:0" - } - ] - }, - "94": { - "body": { - "certora_contract_name": "Left", - "id": 93, - "nodeType": "Block", - "src": "1038:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1055:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88, - "id": 92, - "nodeType": "Return", - "src": "1048:17:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 94, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Left", - "id": 85, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 84, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1009:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1009:10:0" - } - ], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 83, - "nodeType": "ParameterList", - "parameters": [], - "src": "999:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 88, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 87, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1029:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 86, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1028:9:0" - }, - "scope": 95, - "src": "985:87:0", - "stateMutability": "nonpayable", - "superFunction": 68, - "visibility": "public" - }, - "95": { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 74, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "937:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 75, - "nodeType": "InheritanceSpecifier", - "src": "937:4:0" - } - ], - "contractDependencies": [ - 73 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 95, - "linearizedBaseContracts": [ - 95, - 73 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "Block", - "src": "977:2:0", - "statements": [] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 82, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "974:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 79, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 77, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "969:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "969:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "ParameterList", - "parameters": [], - "src": "959:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 80, - "nodeType": "ParameterList", - "parameters": [], - "src": "977:0:0" - }, - "scope": 95, - "src": "948:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Left", - "id": 93, - "nodeType": "Block", - "src": "1038:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1055:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88, - "id": 92, - "nodeType": "Return", - "src": "1048:17:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 94, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Left", - "id": 85, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 84, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1009:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1009:10:0" - } - ], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 83, - "nodeType": "ParameterList", - "parameters": [], - "src": "999:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 88, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 87, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1029:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 86, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1028:9:0" - }, - "scope": 95, - "src": "985:87:0", - "stateMutability": "nonpayable", - "superFunction": 68, - "visibility": "public" - } - ], - "scope": 304, - "src": "920:154:0" - }, - "96": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 96, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "1095:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "97": { - "arguments": null, - "baseName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 96, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "1095:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Middle", - "id": 97, - "nodeType": "InheritanceSpecifier", - "src": "1095:4:0" - }, - "98": { - "certora_contract_name": "Middle", - "id": 98, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1128:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "99": { - "certora_contract_name": "Middle", - "constant": false, - "id": 99, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1128:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 98, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1128:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - "100": { - "certora_contract_name": "Middle", - "id": 100, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1148:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "101": { - "certora_contract_name": "Middle", - "constant": false, - "id": 101, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1148:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 100, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1148:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - "102": { - "canonicalName": "Middle.Slot", - "certora_contract_name": "Middle", - "id": 102, - "members": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 99, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1128:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 98, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1128:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 101, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1148:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 100, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1148:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Slot", - "nodeType": "StructDefinition", - "scope": 241, - "src": "1106:59:0", - "visibility": "public" - }, - "103": { - "certora_contract_name": "Middle", - "id": 103, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1182:4:0" - }, - "104": { - "certora_contract_name": "Middle", - "id": 104, - "name": "Live", - "nodeType": "EnumValue", - "src": "1188:4:0" - }, - "105": { - "certora_contract_name": "Middle", - "id": 105, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1194:4:0" - }, - "106": { - "canonicalName": "Middle.Phase", - "certora_contract_name": "Middle", - "id": 106, - "members": [ - { - "certora_contract_name": "Middle", - "id": 103, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1182:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 104, - "name": "Live", - "nodeType": "EnumValue", - "src": "1188:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 105, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1194:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "1170:29:0" - }, - "107": { - "certora_contract_name": "Middle", - "id": 107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "108": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 108, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1224:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "109": { - "certora_contract_name": "Middle", - "id": 109, - "keyType": { - "certora_contract_name": "Middle", - "id": 107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1205:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 108, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1224:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "110": { - "certora_contract_name": "Middle", - "constant": false, - "id": 110, - "name": "slots", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1205:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 109, - "keyType": { - "certora_contract_name": "Middle", - "id": 107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1205:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 108, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1224:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "value": null, - "visibility": "internal" - }, - "111": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 111, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 106, - "src": "1250:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "112": { - "certora_contract_name": "Middle", - "constant": false, - "id": 112, - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1250:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 111, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 106, - "src": "1250:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "value": null, - "visibility": "public" - }, - "113": { - "certora_contract_name": "Middle", - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "114": { - "baseType": { - "certora_contract_name": "Middle", - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 114, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1274:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "115": { - "certora_contract_name": "Middle", - "constant": false, - "id": 115, - "name": "series", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1274:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Middle", - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 114, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1274:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - "116": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1315:2:0" - }, - "117": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 117, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "1325:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "118": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "119": { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 119, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 117, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "1325:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1325:7:0" - }, - "120": { - "certora_contract_name": "Middle", - "id": 120, - "nodeType": "ParameterList", - "parameters": [], - "src": "1333:0:0" - }, - "121": { - "certora_contract_name": "Middle", - "id": 121, - "nodeType": "Block", - "src": "1333:2:0", - "statements": [] - }, - "122": { - "body": { - "certora_contract_name": "Middle", - "id": 121, - "nodeType": "Block", - "src": "1333:2:0", - "statements": [] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 122, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 119, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 117, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "1325:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1325:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1315:2:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 120, - "nodeType": "ParameterList", - "parameters": [], - "src": "1333:0:0" - }, - "scope": 241, - "src": "1304:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "123": { - "certora_contract_name": "Middle", - "id": 123, - "nodeType": "ParameterList", - "parameters": [], - "src": "1405:2:0" - }, - "124": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 124, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1415:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "125": { - "arguments": null, - "certora_contract_name": "Middle", - "id": 125, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 124, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1415:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1415:10:0" - }, - "126": { - "certora_contract_name": "Middle", - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "127": { - "certora_contract_name": "Middle", - "constant": false, - "id": 127, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1435:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "128": { - "certora_contract_name": "Middle", - "id": 128, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 127, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1435:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1434:9:0" - }, - "129": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "130": { - "certora_contract_name": "Middle", - "constant": false, - "id": 130, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1454:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - }, - "131": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "132": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "133": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "134": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 134, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1470:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "135": { - "assignments": [ - 130 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 130, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1454:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 135, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 134, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1470:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1454:33:0" - }, - "136": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "137": { - "certora_contract_name": "Middle", - "constant": false, - "id": 137, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1498:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - "138": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "139": { - "certora_contract_name": "Middle", - "constant": false, - "id": 139, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1510:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - "140": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "141": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "142": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "143": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "144": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1524:12:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", - "typeString": "tuple(uint128,uint128)" - } - }, - "145": { - "assignments": [ - 137, - 139 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 137, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1498:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 139, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1510:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 145, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1524:12:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", - "typeString": "tuple(uint128,uint128)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:39:0" - }, - "146": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "147": { - "certora_contract_name": "Middle", - "constant": false, - "id": 147, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1546:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "148": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "149": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "150": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "151": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "152": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "153": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "154": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1560:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "155": { - "assignments": [ - 147 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 147, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1546:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1560:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:39:0" - }, - "156": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "157": { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "158": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "159": { - "assignments": [ - 157 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 159, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1600:13:0" - }, - "160": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "161": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "162": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1615:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "163": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "164": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "165": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1622:3:0" - }, - "166": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "167": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "168": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "169": { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - }, - "170": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - }, - "171": { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - "172": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "173": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "174": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "175": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "176": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "177": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "178": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "179": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - }, - "180": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1627:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - } - ] - }, - "181": { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1627:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1615:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 181, - "initializationExpression": { - "assignments": [ - 157 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 159, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1600:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1622:3:0" - }, - "nodeType": "ForStatement", - "src": "1595:148:0" - }, - "182": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "183": { - "certora_contract_name": "Middle", - "constant": false, - "id": 183, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1752:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "184": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "185": { - "assignments": [ - 183 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 183, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1752:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 185, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1752:13:0" - }, - "186": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "187": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "188": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1782:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "189": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "190": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "191": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - }, - "192": { - "certora_contract_name": "Middle", - "id": 192, - "nodeType": "Block", - "src": "1789:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - } - ] - }, - "193": { - "body": { - "certora_contract_name": "Middle", - "id": 192, - "nodeType": "Block", - "src": "1789:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1782:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 193, - "nodeType": "WhileStatement", - "src": "1775:42:0" - }, - "194": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "195": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "196": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - }, - "197": { - "certora_contract_name": "Middle", - "id": 197, - "nodeType": "Block", - "src": "1829:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - } - ] - }, - "198": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "199": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "200": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "201": { - "body": { - "certora_contract_name": "Middle", - "id": 197, - "nodeType": "Block", - "src": "1829:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 201, - "nodeType": "DoWhileStatement", - "src": "1826:46:0" - }, - "202": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "203": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "204": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "205": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "206": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "207": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "208": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "209": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "210": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "211": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "212": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1881:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "213": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1881:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 213, - "nodeType": "ExpressionStatement", - "src": "1881:41:0" - }, - "214": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "215": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "216": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "217": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "218": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1932:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "219": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1932:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1932:24:0" - }, - "220": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "221": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "222": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "223": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "224": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1971:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "225": { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1971:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "EmitStatement", - "src": "1966:28:0" - }, - "226": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 226, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "2011:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "227": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 226, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "2011:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 128, - "id": 227, - "nodeType": "Return", - "src": "2004:10:0" - }, - "228": { - "certora_contract_name": "Middle", - "id": 228, - "nodeType": "Block", - "src": "1444:577:0", - "statements": [ - { - "assignments": [ - 130 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 130, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1454:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 135, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 134, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1470:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1454:33:0" - }, - { - "assignments": [ - 137, - 139 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 137, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1498:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 139, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1510:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 145, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1524:12:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", - "typeString": "tuple(uint128,uint128)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:39:0" - }, - { - "assignments": [ - 147 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 147, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1546:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1560:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:39:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1627:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1615:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 181, - "initializationExpression": { - "assignments": [ - 157 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 159, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1600:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1622:3:0" - }, - "nodeType": "ForStatement", - "src": "1595:148:0" - }, - { - "assignments": [ - 183 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 183, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1752:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 185, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1752:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 192, - "nodeType": "Block", - "src": "1789:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1782:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 193, - "nodeType": "WhileStatement", - "src": "1775:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 197, - "nodeType": "Block", - "src": "1829:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 201, - "nodeType": "DoWhileStatement", - "src": "1826:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1881:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 213, - "nodeType": "ExpressionStatement", - "src": "1881:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1932:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1932:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1971:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "EmitStatement", - "src": "1966:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 226, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "2011:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 128, - "id": 227, - "nodeType": "Return", - "src": "2004:10:0" - } - ] - }, - "229": { - "body": { - "certora_contract_name": "Middle", - "id": 228, - "nodeType": "Block", - "src": "1444:577:0", - "statements": [ - { - "assignments": [ - 130 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 130, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1454:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 135, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 134, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1470:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1454:33:0" - }, - { - "assignments": [ - 137, - 139 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 137, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1498:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 139, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1510:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 145, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1524:12:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", - "typeString": "tuple(uint128,uint128)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:39:0" - }, - { - "assignments": [ - 147 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 147, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1546:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1560:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:39:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1627:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1615:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 181, - "initializationExpression": { - "assignments": [ - 157 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 159, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1600:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1622:3:0" - }, - "nodeType": "ForStatement", - "src": "1595:148:0" - }, - { - "assignments": [ - 183 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 183, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1752:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 185, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1752:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 192, - "nodeType": "Block", - "src": "1789:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1782:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 193, - "nodeType": "WhileStatement", - "src": "1775:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 197, - "nodeType": "Block", - "src": "1829:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 201, - "nodeType": "DoWhileStatement", - "src": "1826:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1881:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 213, - "nodeType": "ExpressionStatement", - "src": "1881:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1932:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1932:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1971:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "EmitStatement", - "src": "1966:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 226, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "2011:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 128, - "id": 227, - "nodeType": "Return", - "src": "2004:10:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": "@notice function NatSpec, 0.5 string form", - "id": 229, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Middle", - "id": 125, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 124, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1415:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1415:10:0" - } - ], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 123, - "nodeType": "ParameterList", - "parameters": [], - "src": "1405:2:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 128, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 127, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1435:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1434:9:0" - }, - "scope": 241, - "src": "1391:630:0", - "stateMutability": "nonpayable", - "superFunction": 68, - "visibility": "public" - }, - "230": { - "certora_contract_name": "Middle", - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "231": { - "certora_contract_name": "Middle", - "constant": false, - "id": 231, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2042:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "232": { - "certora_contract_name": "Middle", - "id": 232, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 231, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2042:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:16:0" - }, - "233": { - "certora_contract_name": "Middle", - "id": 233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2079:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "234": { - "certora_contract_name": "Middle", - "constant": false, - "id": 234, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2079:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2079:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "235": { - "certora_contract_name": "Middle", - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2093:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "236": { - "certora_contract_name": "Middle", - "constant": false, - "id": 236, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2093:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2093:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - "237": { - "certora_contract_name": "Middle", - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 234, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2079:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2079:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 236, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2093:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2093:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2078:28:0" - }, - "238": { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2160:6:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2222:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2264:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2140:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2374:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2338:6:0", - "valueSize": 1 - } - } - ], - "id": 238, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", - "src": "2117:511:0" - }, - "239": { - "certora_contract_name": "Middle", - "id": 239, - "nodeType": "Block", - "src": "2107:527:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2160:6:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2222:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2264:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2140:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2374:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2338:6:0", - "valueSize": 1 - } - } - ], - "id": 238, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", - "src": "2117:511:0" - } - ] - }, - "240": { - "body": { - "certora_contract_name": "Middle", - "id": 239, - "nodeType": "Block", - "src": "2107:527:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2160:6:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2222:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2264:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2140:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2374:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2338:6:0", - "valueSize": 1 - } - } - ], - "id": 238, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", - "src": "2117:511:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 240, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 232, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 231, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2042:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:16:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 234, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2079:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2079:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 236, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2093:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2093:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2078:28:0" - }, - "scope": 241, - "src": "2027:607:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "241": { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 96, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "1095:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Middle", - "id": 97, - "nodeType": "InheritanceSpecifier", - "src": "1095:4:0" - } - ], - "contractDependencies": [ - 73 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 241, - "linearizedBaseContracts": [ - 241, - 73 - ], - "name": "Middle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Middle.Slot", - "certora_contract_name": "Middle", - "id": 102, - "members": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 99, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1128:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 98, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1128:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 101, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1148:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 100, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1148:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Slot", - "nodeType": "StructDefinition", - "scope": 241, - "src": "1106:59:0", - "visibility": "public" - }, - { - "canonicalName": "Middle.Phase", - "certora_contract_name": "Middle", - "id": 106, - "members": [ - { - "certora_contract_name": "Middle", - "id": 103, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1182:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 104, - "name": "Live", - "nodeType": "EnumValue", - "src": "1188:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 105, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1194:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "1170:29:0" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 110, - "name": "slots", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1205:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 109, - "keyType": { - "certora_contract_name": "Middle", - "id": 107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1205:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 108, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1224:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 112, - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1250:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 111, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 106, - "src": "1250:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 115, - "name": "series", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1274:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Middle", - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 114, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1274:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 121, - "nodeType": "Block", - "src": "1333:2:0", - "statements": [] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 122, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 119, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 117, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "1325:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1325:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1315:2:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 120, - "nodeType": "ParameterList", - "parameters": [], - "src": "1333:0:0" - }, - "scope": 241, - "src": "1304:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 228, - "nodeType": "Block", - "src": "1444:577:0", - "statements": [ - { - "assignments": [ - 130 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 130, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1454:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 135, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 134, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1470:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1454:33:0" - }, - { - "assignments": [ - 137, - 139 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 137, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1498:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 139, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1510:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 145, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1524:12:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", - "typeString": "tuple(uint128,uint128)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:39:0" - }, - { - "assignments": [ - 147 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 147, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1546:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1560:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:39:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1627:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1615:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 181, - "initializationExpression": { - "assignments": [ - 157 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 159, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1600:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1622:3:0" - }, - "nodeType": "ForStatement", - "src": "1595:148:0" - }, - { - "assignments": [ - 183 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 183, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1752:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 185, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1752:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 192, - "nodeType": "Block", - "src": "1789:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1782:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 193, - "nodeType": "WhileStatement", - "src": "1775:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 197, - "nodeType": "Block", - "src": "1829:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 201, - "nodeType": "DoWhileStatement", - "src": "1826:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1881:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 213, - "nodeType": "ExpressionStatement", - "src": "1881:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1932:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1932:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1971:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "EmitStatement", - "src": "1966:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 226, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "2011:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 128, - "id": 227, - "nodeType": "Return", - "src": "2004:10:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": "@notice function NatSpec, 0.5 string form", - "id": 229, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Middle", - "id": 125, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 124, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1415:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1415:10:0" - } - ], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 123, - "nodeType": "ParameterList", - "parameters": [], - "src": "1405:2:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 128, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 127, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1435:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1434:9:0" - }, - "scope": 241, - "src": "1391:630:0", - "stateMutability": "nonpayable", - "superFunction": 68, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 239, - "nodeType": "Block", - "src": "2107:527:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2160:6:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2222:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2264:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2140:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2374:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2338:6:0", - "valueSize": 1 - } - } - ], - "id": 238, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", - "src": "2117:511:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 240, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 232, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 231, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2042:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:16:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 234, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2079:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2079:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 236, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2093:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2093:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2078:28:0" - }, - "scope": 241, - "src": "2027:607:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 304, - "src": "1076:1560:0" - }, - "242": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 242, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8, - "src": "2658:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$8", - "typeString": "contract IToken" - } - }, - "243": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 242, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8, - "src": "2658:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$8", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 243, - "nodeType": "InheritanceSpecifier", - "src": "2658:6:0" - }, - "244": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 244, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "2666:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$95", - "typeString": "contract Left" - } - }, - "245": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 244, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "2666:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$95", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 245, - "nodeType": "InheritanceSpecifier", - "src": "2666:4:0" - }, - "246": { - "certora_contract_name": "Diamond", - "id": 246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2677:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "247": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 247, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2677:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2677:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - "248": { - "certora_contract_name": "Diamond", - "id": 248, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:2:0" - }, - "249": { - "certora_contract_name": "Diamond", - "id": 249, - "nodeType": "ParameterList", - "parameters": [], - "src": "2727:0:0" - }, - "250": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "251": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "252": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "253": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "254": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "255": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "256": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "257": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "258": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2737:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "259": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2737:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "2737:34:0" - }, - "260": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "261": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2781:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "262": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2781:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 262, - "nodeType": "ExpressionStatement", - "src": "2781:16:0" - }, - "263": { - "certora_contract_name": "Diamond", - "id": 263, - "nodeType": "Block", - "src": "2727:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2737:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "2737:34:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2781:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 262, - "nodeType": "ExpressionStatement", - "src": "2781:16:0" - } - ] - }, - "264": { - "body": { - "certora_contract_name": "Diamond", - "id": 263, - "nodeType": "Block", - "src": "2727:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2737:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "2737:34:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2781:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 262, - "nodeType": "ExpressionStatement", - "src": "2781:16:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 264, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 248, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 249, - "nodeType": "ParameterList", - "parameters": [], - "src": "2727:0:0" - }, - "scope": 303, - "src": "2706:98:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "265": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "ParameterList", - "parameters": [], - "src": "2830:2:0" - }, - "266": { - "certora_contract_name": "Diamond", - "id": 266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "267": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 272, - "src": "2856:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "268": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 272, - "src": "2856:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2855:9:0" - }, - "269": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 269, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2882:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "270": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 269, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2882:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 268, - "id": 270, - "nodeType": "Return", - "src": "2875:13:0" - }, - "271": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "Block", - "src": "2865:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 269, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2882:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 268, - "id": 270, - "nodeType": "Return", - "src": "2875:13:0" - } - ] - }, - "272": { - "body": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "Block", - "src": "2865:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 269, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2882:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 268, - "id": 270, - "nodeType": "Return", - "src": "2875:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 272, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "ParameterList", - "parameters": [], - "src": "2830:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 272, - "src": "2856:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2855:9:0" - }, - "scope": 303, - "src": "2810:85:0", - "stateMutability": "view", - "superFunction": 7, - "visibility": "external" - }, - "273": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "ParameterList", - "parameters": [], - "src": "2924:2:0" - }, - "274": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [], - "src": "2936:0:0" - }, - "275": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "276": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 276, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 297, - "src": "2946:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - "277": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "278": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "279": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "280": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "281": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "282": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "283": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - }, - "284": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "285": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2966:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "286": { - "assignments": [ - 276 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 276, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 297, - "src": "2946:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 286, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2966:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2946:62:0" - }, - "287": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "288": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "289": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "290": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "291": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - }, - "292": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "293": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "294": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "295": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3018:44:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "296": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3018:44:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 296, - "nodeType": "ExpressionStatement", - "src": "3018:44:0" - }, - "297": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "Block", - "src": "2936:133:0", - "statements": [ - { - "assignments": [ - 276 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 276, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 297, - "src": "2946:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 286, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2966:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2946:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3018:44:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 296, - "nodeType": "ExpressionStatement", - "src": "3018:44:0" - } - ] - }, - "298": { - "body": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "Block", - "src": "2936:133:0", - "statements": [ - { - "assignments": [ - 276 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 276, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 297, - "src": "2946:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 286, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2966:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2946:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3018:44:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 296, - "nodeType": "ExpressionStatement", - "src": "3018:44:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 298, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transformCheck", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "ParameterList", - "parameters": [], - "src": "2924:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [], - "src": "2936:0:0" - }, - "scope": 303, - "src": "2901:168:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - "299": { - "certora_contract_name": "Diamond", - "id": 299, - "nodeType": "ParameterList", - "parameters": [], - "src": "3083:2:0" - }, - "300": { - "certora_contract_name": "Diamond", - "id": 300, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:0:0" - }, - "301": { - "certora_contract_name": "Diamond", - "id": 301, - "nodeType": "Block", - "src": "3103:2:0", - "statements": [] - }, - "302": { - "body": { - "certora_contract_name": "Diamond", - "id": 301, - "nodeType": "Block", - "src": "3103:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 302, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 299, - "nodeType": "ParameterList", - "parameters": [], - "src": "3083:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 300, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:0:0" - }, - "scope": 303, - "src": "3075:30:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - "303": { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 242, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8, - "src": "2658:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$8", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 243, - "nodeType": "InheritanceSpecifier", - "src": "2658:6:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 244, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "2666:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$95", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 245, - "nodeType": "InheritanceSpecifier", - "src": "2666:4:0" - } - ], - "contractDependencies": [ - 8, - 73, - 95 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 303, - "linearizedBaseContracts": [ - 303, - 95, - 73, - 8 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 247, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2677:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2677:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 263, - "nodeType": "Block", - "src": "2727:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2737:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "2737:34:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2781:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 262, - "nodeType": "ExpressionStatement", - "src": "2781:16:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 264, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 248, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 249, - "nodeType": "ParameterList", - "parameters": [], - "src": "2727:0:0" - }, - "scope": 303, - "src": "2706:98:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "Block", - "src": "2865:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 269, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2882:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 268, - "id": 270, - "nodeType": "Return", - "src": "2875:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 272, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "ParameterList", - "parameters": [], - "src": "2830:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 272, - "src": "2856:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2855:9:0" - }, - "scope": 303, - "src": "2810:85:0", - "stateMutability": "view", - "superFunction": 7, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "Block", - "src": "2936:133:0", - "statements": [ - { - "assignments": [ - 276 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 276, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 297, - "src": "2946:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 286, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2966:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2946:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3018:44:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 296, - "nodeType": "ExpressionStatement", - "src": "3018:44:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 298, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transformCheck", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "ParameterList", - "parameters": [], - "src": "2924:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [], - "src": "2936:0:0" - }, - "scope": 303, - "src": "2901:168:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 301, - "nodeType": "Block", - "src": "3103:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 302, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 299, - "nodeType": "ParameterList", - "parameters": [], - "src": "3083:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 300, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:0:0" - }, - "scope": 303, - "src": "3075:30:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 304, - "src": "2638:469:0" - }, - "304": { - "absolutePath": "breadth_05.sol", - "exportedSymbols": { - "Base": [ - 73 - ], - "Diamond": [ - 303 - ], - "IToken": [ - 8 - ], - "Left": [ - 95 - ], - "MathLib": [ - 23 - ], - "Middle": [ - 241 - ] - }, - "id": 304, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.5", - ".17" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "id": 2, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "25:33:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title Interface exercising 0.5-era AST shapes", - "fullyImplemented": false, - "id": 8, - "linearizedBaseContracts": [ - 8 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "id": 7, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 3, - "nodeType": "ParameterList", - "parameters": [], - "src": "154:2:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7, - "src": "180:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "179:9:0" - }, - "scope": 8, - "src": "134:55:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 304, - "src": "111:80:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 23, - "linearizedBaseContracts": [ - 23 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 21, - "nodeType": "Block", - "src": "282:29:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 17, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "299:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 18, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "303:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "299:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 16, - "id": 20, - "nodeType": "Return", - "src": "292:12:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 22, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 13, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 10, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "228:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 12, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "239:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 15, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 22, - "src": "273:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:9:0" - }, - "scope": 23, - "src": "215:96:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 304, - "src": "193:120:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract-level NatSpec: plain-string `documentation` in 0.5 dumps", - "fullyImplemented": false, - "id": 73, - "linearizedBaseContracts": [ - 73 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 25, - "name": "stored", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "437:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 24, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "id": 28, - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "464:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "464:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "496:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 30, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "505:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "505:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 36, - "name": "Stored", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 35, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 32, - "indexed": true, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "547:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 34, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "568:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "546:36:0" - }, - "src": "534:49:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 50, - "nodeType": "Block", - "src": "665:61:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 41, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "675:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 42, - "name": "initial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "684:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "675:16:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44, - "nodeType": "ExpressionStatement", - "src": "675:16:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "701:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 46, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "709:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "709:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "701:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 49, - "nodeType": "ExpressionStatement", - "src": "701:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": "@param initial the seed value", - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 38, - "name": "initial", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "639:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 37, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "638:17:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 40, - "nodeType": "ParameterList", - "parameters": [], - "src": "665:0:0" - }, - "scope": 73, - "src": "627:99:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 62, - "nodeType": "Block", - "src": "753:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 54, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "771:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "771:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 56, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "785:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "771:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "792:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 53, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 321, - 322 - ], - "referencedDeclaration": 322, - "src": "763:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "763:41:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "763:41:0" - }, - { - "certora_contract_name": "Base", - "id": 61, - "nodeType": "PlaceholderStatement", - "src": "814:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 63, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:0" - }, - "src": "732:90:0", - "visibility": "internal" - }, - { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "id": 68, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [], - "src": "842:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 66, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "861:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 65, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:9:0" - }, - "scope": 73, - "src": "828:42:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 71, - "nodeType": "Block", - "src": "898:18:0", - "statements": [ - { - "certora_contract_name": "Base", - "id": 70, - "nodeType": "PlaceholderStatement", - "src": "908:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 72, - "name": "virtualish", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 69, - "nodeType": "ParameterList", - "parameters": [], - "src": "895:2:0" - }, - "src": "876:40:0", - "visibility": "internal" - } - ], - "scope": 304, - "src": "393:525:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 74, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "937:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 75, - "nodeType": "InheritanceSpecifier", - "src": "937:4:0" - } - ], - "contractDependencies": [ - 73 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 95, - "linearizedBaseContracts": [ - 95, - 73 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "Left", - "id": 81, - "nodeType": "Block", - "src": "977:2:0", - "statements": [] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 82, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "974:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Left", - "id": 79, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 77, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "969:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "969:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 76, - "nodeType": "ParameterList", - "parameters": [], - "src": "959:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 80, - "nodeType": "ParameterList", - "parameters": [], - "src": "977:0:0" - }, - "scope": 95, - "src": "948:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Left", - "id": 93, - "nodeType": "Block", - "src": "1038:34:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "commonType": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 89, - "name": "stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1055:6:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1055:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88, - "id": 92, - "nodeType": "Return", - "src": "1048:17:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "id": 94, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Left", - "id": 85, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Left", - "id": 84, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1009:10:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1009:10:0" - } - ], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Left", - "id": 83, - "nodeType": "ParameterList", - "parameters": [], - "src": "999:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 88, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 87, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1029:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 86, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1028:9:0" - }, - "scope": 95, - "src": "985:87:0", - "stateMutability": "nonpayable", - "superFunction": 68, - "visibility": "public" - } - ], - "scope": 304, - "src": "920:154:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 96, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "1095:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_contract$_Base_$73", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Middle", - "id": 97, - "nodeType": "InheritanceSpecifier", - "src": "1095:4:0" - } - ], - "contractDependencies": [ - 73 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 241, - "linearizedBaseContracts": [ - 241, - 73 - ], - "name": "Middle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Middle.Slot", - "certora_contract_name": "Middle", - "id": 102, - "members": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 99, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1128:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 98, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1128:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 101, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "1148:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 100, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1148:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Slot", - "nodeType": "StructDefinition", - "scope": 241, - "src": "1106:59:0", - "visibility": "public" - }, - { - "canonicalName": "Middle.Phase", - "certora_contract_name": "Middle", - "id": 106, - "members": [ - { - "certora_contract_name": "Middle", - "id": 103, - "name": "Idle", - "nodeType": "EnumValue", - "src": "1182:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 104, - "name": "Live", - "nodeType": "EnumValue", - "src": "1188:4:0" - }, - { - "certora_contract_name": "Middle", - "id": 105, - "name": "Dead", - "nodeType": "EnumValue", - "src": "1194:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "1170:29:0" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 110, - "name": "slots", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1205:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 109, - "keyType": { - "certora_contract_name": "Middle", - "id": 107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1205:24:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot)" - }, - "valueType": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 108, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1224:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 112, - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1250:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 111, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 106, - "src": "1250:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 115, - "name": "series", - "nodeType": "VariableDeclaration", - "scope": 241, - "src": "1274:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Middle", - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Middle", - "id": 114, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1274:9:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 121, - "nodeType": "Block", - "src": "1333:2:0", - "statements": [] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 122, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "certora_contract_name": "Middle", - "id": 119, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 117, - "name": "Base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "1325:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_Base_$73_$", - "typeString": "type(contract Base)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1325:7:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1315:2:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 120, - "nodeType": "ParameterList", - "parameters": [], - "src": "1333:0:0" - }, - "scope": 241, - "src": "1304:31:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 228, - "nodeType": "Block", - "src": "1444:577:0", - "statements": [ - { - "assignments": [ - 130 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 130, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1454:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot" - }, - "typeName": { - "certora_contract_name": "Middle", - "contractScope": null, - "id": 129, - "name": "Slot", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 102, - "src": "1454:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage_ptr", - "typeString": "struct Middle.Slot" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 135, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 131, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1470:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 134, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1476:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1476:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1470:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1454:33:0" - }, - { - "assignments": [ - 137, - 139 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 137, - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1498:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 136, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1498:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 139, - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1510:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 138, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "1510:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 145, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 140, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1525:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lo", - "nodeType": "MemberAccess", - "referencedDeclaration": 99, - "src": "1525:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 142, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1531:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_memory_ptr", - "typeString": "struct Middle.Slot memory" - } - }, - "id": 143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hi", - "nodeType": "MemberAccess", - "referencedDeclaration": 101, - "src": "1531:4:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1524:12:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", - "typeString": "tuple(uint128,uint128)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:39:0" - }, - { - "assignments": [ - 147 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 147, - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1546:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 149, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "1568:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1560:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 152, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "1582:2:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Middle", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1574:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1574:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1560:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:39:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 180, - "nodeType": "Block", - "src": "1627:116:0", - "statements": [ - { - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 166, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1645:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "31", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1650:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1645:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 171, - "nodeType": "IfStatement", - "src": "1641:53:0", - "trueBody": { - "certora_contract_name": "Middle", - "id": 170, - "nodeType": "Block", - "src": "1653:41:0", - "statements": [ - { - "certora_contract_name": "Middle", - "id": 169, - "nodeType": "Continue", - "src": "1671:8:0" - } - ] - } - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 172, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1707:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 175, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1725:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1730:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 173, - "name": "MathLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "1713:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_contract$_MathLib_$23_$", - "typeString": "type(library MathLib)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 22, - "src": "1713:11:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1713:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:25:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1707:25:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 160, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1615:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "33", - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1619:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1615:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 181, - "initializationExpression": { - "assignments": [ - 157 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 157, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 181, - "src": "1600:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 159, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1612:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1600:13:0" - }, - "loopExpression": { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1622:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "1622:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1622:3:0" - }, - "nodeType": "ForStatement", - "src": "1595:148:0" - }, - { - "assignments": [ - 183 - ], - "certora_contract_name": "Middle", - "declarations": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 183, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1752:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1752:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 185, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1752:13:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 192, - "nodeType": "Block", - "src": "1789:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1803:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 189, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1803:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 191, - "nodeType": "ExpressionStatement", - "src": "1803:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 186, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1782:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1782:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 193, - "nodeType": "WhileStatement", - "src": "1775:42:0" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 197, - "nodeType": "Block", - "src": "1829:28:0", - "statements": [ - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1843:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 194, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1843:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "nodeType": "ExpressionStatement", - "src": "1843:3:0" - } - ] - }, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 198, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 183, - "src": "1865:1:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "30", - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 201, - "nodeType": "DoWhileStatement", - "src": "1826:46:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 202, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1881:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - }, - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 203, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 112, - "src": "1887:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 204, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1896:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_type$_t_enum$_Phase_$106_$", - "typeString": "type(enum Middle.Phase)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Live", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_enum$_Phase_$106", - "typeString": "enum Middle.Phase" - } - }, - "src": "1887:19:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 210, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1919:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1887:35:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "commonType": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 207, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1909:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "hexValue": "32", - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1909:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1881:41:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 213, - "nodeType": "ExpressionStatement", - "src": "1881:41:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1932:24:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 214, - "name": "slots", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "1939:5:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Slot_$102_storage_$", - "typeString": "mapping(address => struct Middle.Slot storage ref)" - } - }, - "certora_contract_name": "Middle", - "id": 217, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 215, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1945:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1945:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1939:17:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_struct$_Slot_$102_storage", - "typeString": "struct Middle.Slot storage ref" - } - }, - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1932:24:0" - }, - { - "certora_contract_name": "Middle", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "1978:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1978:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 223, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1990:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Middle", - "id": 220, - "name": "Stored", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "1971:6:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1971:23:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "EmitStatement", - "src": "1966:28:0" - }, - { - "certora_contract_name": "Middle", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 226, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "2011:3:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 128, - "id": 227, - "nodeType": "Return", - "src": "2004:10:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": "@notice function NatSpec, 0.5 string form", - "id": 229, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Middle", - "id": 125, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Middle", - "id": 124, - "name": "virtualish", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "1415:10:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1415:10:0" - } - ], - "name": "touch", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 123, - "nodeType": "ParameterList", - "parameters": [], - "src": "1405:2:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 128, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 127, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1435:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1434:9:0" - }, - "scope": 241, - "src": "1391:630:0", - "stateMutability": "nonpayable", - "superFunction": 68, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Middle", - "id": 239, - "nodeType": "Block", - "src": "2107:527:0", - "statements": [ - { - "certora_contract_name": "Middle", - "externalReferences": [ - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2160:6:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2222:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2264:4:0", - "valueSize": 1 - } - }, - { - "size": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "2140:4:0", - "valueSize": 1 - } - }, - { - "head": { - "declaration": 236, - "isOffset": false, - "isSlot": false, - "src": "2374:4:0", - "valueSize": 1 - } - }, - { - "target": { - "declaration": 231, - "isOffset": false, - "isSlot": false, - "src": "2338:6:0", - "valueSize": 1 - } - } - ], - "id": 238, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(target)\n let buf := mload(0x40)\n switch size\n case 0 { head := 0 }\n default {\n extcodecopy(target, buf, 0, 32)\n head := mload(buf)\n }\n for { let i := 0 } lt(i, 2) { i := add(i, 1) }\n { pop(add(i, 1)) }\n function double(x) -> y\n { y := mul(x, 2) }\n pop(double(3))\n}", - "src": "2117:511:0" - } - ] - }, - "certora_contract_name": "Middle", - "documentation": null, - "id": 240, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Middle", - "id": 232, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 231, - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2042:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:16:0" - }, - "returnParameters": { - "certora_contract_name": "Middle", - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Middle", - "constant": false, - "id": 234, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2079:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2079:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Middle", - "constant": false, - "id": 236, - "name": "head", - "nodeType": "VariableDeclaration", - "scope": 240, - "src": "2093:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "certora_contract_name": "Middle", - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2093:7:0", - "typeDescriptions": { - "certora_contract_name": "Middle", - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2078:28:0" - }, - "scope": 241, - "src": "2027:607:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 304, - "src": "1076:1560:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 242, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8, - "src": "2658:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$8", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 243, - "nodeType": "InheritanceSpecifier", - "src": "2658:6:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 244, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 95, - "src": "2666:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$95", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 245, - "nodeType": "InheritanceSpecifier", - "src": "2666:4:0" - } - ], - "contractDependencies": [ - 8, - 73, - 95 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 303, - "linearizedBaseContracts": [ - 303, - 95, - 73, - 8 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 247, - "name": "supply", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2677:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2677:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 263, - "nodeType": "Block", - "src": "2727:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 250, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2737:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "certora_contract_name": "Diamond", - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2747:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2751:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 252, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2751:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2747:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2746:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2746:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2737:34:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "2737:34:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "id": 260, - "name": "transformCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "2781:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2781:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 262, - "nodeType": "ExpressionStatement", - "src": "2781:16:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 264, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 248, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 249, - "nodeType": "ParameterList", - "parameters": [], - "src": "2727:0:0" - }, - "scope": 303, - "src": "2706:98:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "Block", - "src": "2865:30:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 269, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "2882:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 268, - "id": 270, - "nodeType": "Return", - "src": "2875:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 272, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 265, - "nodeType": "ParameterList", - "parameters": [], - "src": "2830:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 267, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 272, - "src": "2856:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2855:9:0" - }, - "scope": 303, - "src": "2810:85:0", - "stateMutability": "view", - "superFunction": 7, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "Block", - "src": "2936:133:0", - "statements": [ - { - "assignments": [ - 276 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 276, - "name": "blob", - "nodeType": "VariableDeclaration", - "scope": 297, - "src": "2946:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2946:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 286, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - } - ], - "certora_contract_name": "Diamond", - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2983:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2983:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 283, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3002:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2994:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 277, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "2966:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2966:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2966:42:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2946:62:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 287, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "3018:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 288, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3027:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3027:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 291, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "3049:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$303", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3041:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3041:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3041:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3027:35:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3018:44:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 296, - "nodeType": "ExpressionStatement", - "src": "3018:44:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 298, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transformCheck", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 273, - "nodeType": "ParameterList", - "parameters": [], - "src": "2924:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [], - "src": "2936:0:0" - }, - "scope": 303, - "src": "2901:168:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 301, - "nodeType": "Block", - "src": "3103:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 302, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 299, - "nodeType": "ParameterList", - "parameters": [], - "src": "3083:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 300, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:0:0" - }, - "scope": 303, - "src": "3075:30:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 304, - "src": "2638:469:0" - } - ], - "src": "0:3108:0" - } - } - } -} diff --git a/tests/fixtures/solidity_ast/solc_0_6_12.asts.json b/tests/fixtures/solidity_ast/solc_0_6_12.asts.json deleted file mode 100644 index 9f3ed5f..0000000 --- a/tests/fixtures/solidity_ast/solc_0_6_12.asts.json +++ /dev/null @@ -1,48552 +0,0 @@ -{ - "breadth_06.sol": { - "breadth_06.sol": { - "1": { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".12", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "500:32:0" - }, - "2": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "3": { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "4": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "5": { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "6": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "7": { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "8": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "9": { - "anonymous": false, - "certora_contract_name": "IToken", - "documentation": null, - "id": 9, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "src": "557:72:0" - }, - "10": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "11": { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "12": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "13": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "14": { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "15": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "16": { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "functionSelector": "70a08231", - "id": 16, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "scope": 17, - "src": "635:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "17": { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 17, - "linearizedBaseContracts": [ - 17 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "certora_contract_name": "IToken", - "documentation": null, - "id": 9, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "src": "557:72:0" - }, - { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "functionSelector": "70a08231", - "id": 16, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "scope": 17, - "src": "635:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 516, - "src": "534:167:0" - }, - "18": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "19": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "20": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "21": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "22": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "23": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "24": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "25": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "26": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "27": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "28": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "29": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "30": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "31": { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - "32": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "33": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "34": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "35": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "36": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - }, - "37": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - }, - "38": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "39": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "40": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "41": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "condition": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "42": { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "condition": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - }, - "43": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "condition": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "44": { - "body": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "condition": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "scope": 45, - "src": "725:154:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "45": { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 45, - "linearizedBaseContracts": [ - 45 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "condition": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "scope": 45, - "src": "725:154:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 516, - "src": "703:178:0" - }, - "46": { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - "47": { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - "48": { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - }, - "49": { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 49, - "members": [ - { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "912:61:0" - }, - "50": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "51": { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "52": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "53": { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - "54": { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 54, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 97, - "src": "979:69:0", - "visibility": "public" - }, - "55": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "56": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "57": { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 57, - "mutability": "constant", - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1054:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - "58": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "59": { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 59, - "mutability": "immutable", - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1095:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - "60": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "61": { - "certora_contract_name": "Base", - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1135:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "62": { - "certora_contract_name": "Base", - "contractScope": null, - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "63": { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "contractScope": null, - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "internal" - }, - "64": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "contractScope": null, - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "65": { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 65, - "name": "PhaseChanged", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "contractScope": null, - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "src": "1164:43:0" - }, - "66": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "67": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "68": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "69": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "70": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "71": { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "72": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - }, - "73": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "74": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - "75": { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - }, - "76": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "77": { - "body": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 77, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "src": "1213:90:0", - "virtual": false, - "visibility": "internal" - }, - "78": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "79": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "80": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "81": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "82": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "83": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "84": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - "85": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "86": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "87": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "88": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "89": { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - }, - "90": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "91": { - "body": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 91, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "scope": 97, - "src": "1401:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - "92": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "93": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "94": { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "95": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "96": { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "functionSelector": "5c36b186", - "id": 96, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "scope": 97, - "src": "1502:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "97": { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 97, - "linearizedBaseContracts": [ - 97 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 49, - "members": [ - { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "912:61:0" - }, - { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 54, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 97, - "src": "979:69:0", - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 57, - "mutability": "constant", - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1054:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 59, - "mutability": "immutable", - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1095:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1135:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 65, - "name": "PhaseChanged", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "contractScope": null, - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "src": "1164:43:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 77, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "src": "1213:90:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 91, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "scope": 97, - "src": "1401:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "functionSelector": "5c36b186", - "id": 96, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "scope": 97, - "src": "1502:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "883:670:0" - }, - "98": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "99": { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 99, - "nodeType": "InheritanceSpecifier", - "src": "1572:4:0" - }, - "100": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "101": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "102": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "103": { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "104": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "105": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "106": { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - }, - "107": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "108": { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "functionSelector": "5c36b186", - "id": 108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "scope": 109, - "src": "1583:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "109": { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 99, - "nodeType": "InheritanceSpecifier", - "src": "1572:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 109, - "linearizedBaseContracts": [ - 109, - 97 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "functionSelector": "5c36b186", - "id": 108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "scope": 109, - "src": "1583:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1555:113:0" - }, - "110": { - "certora_contract_name": "Right", - "contractScope": null, - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "111": { - "arguments": null, - "baseName": { - "certora_contract_name": "Right", - "contractScope": null, - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Right", - "id": 111, - "nodeType": "InheritanceSpecifier", - "src": "1688:4:0" - }, - "112": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "113": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "114": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "115": { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "116": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "117": { - "argumentTypes": null, - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "118": { - "certora_contract_name": "Right", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - }, - "119": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "120": { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "certora_contract_name": "Right", - "documentation": null, - "functionSelector": "5c36b186", - "id": 120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "scope": 121, - "src": "1699:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "121": { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Right", - "contractScope": null, - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Right", - "id": 111, - "nodeType": "InheritanceSpecifier", - "src": "1688:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 121, - "linearizedBaseContracts": [ - 121, - 97 - ], - "name": "Right", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "certora_contract_name": "Right", - "documentation": null, - "functionSelector": "5c36b186", - "id": 120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "scope": 121, - "src": "1699:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1670:114:0" - }, - "122": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "123": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 123, - "nodeType": "InheritanceSpecifier", - "src": "1806:4:0" - }, - "124": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "125": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "certora_contract_name": "Diamond", - "id": 125, - "nodeType": "InheritanceSpecifier", - "src": "1812:5:0" - }, - "126": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "127": { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 127, - "nodeType": "InheritanceSpecifier", - "src": "1819:6:0" - }, - "128": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "129": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "130": { - "certora_contract_name": "Diamond", - "id": 130, - "libraryName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "nodeType": "UsingForDirective", - "src": "1832:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "131": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "132": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "133": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "134": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 134, - "mutability": "mutable", - "name": "accounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1864:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "value": null, - "visibility": "public" - }, - "135": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "136": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "137": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "history", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1913:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - "138": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "139": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 139, - "mutability": "mutable", - "name": "phase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1945:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "public" - }, - "140": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "141": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "142": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "143": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "144": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "145": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "146": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "147": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "148": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "149": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "150": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "151": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "152": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "153": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "154": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - "155": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "157": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "158": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "159": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "160": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - }, - "161": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "162": { - "body": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 162, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "scope": 515, - "src": "1970:153:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - "163": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "164": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "165": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "166": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "167": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "168": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "169": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "170": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "171": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "172": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "173": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "174": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - "175": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "176": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "177": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "178": { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - "179": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "180": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "181": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "182": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - }, - "183": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "184": { - "baseFunctions": [ - 108, - 120 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "5c36b186", - "id": 184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "scope": 515, - "src": "2129:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - "185": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "186": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "187": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "188": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "189": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "190": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "191": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "192": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "193": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "194": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "195": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "196": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - }, - "197": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "198": { - "baseFunctions": [ - 16 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "70a08231", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "scope": 515, - "src": "2298:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "199": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "200": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "201": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "202": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "203": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "204": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "205": { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - }, - "206": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "207": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - "208": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "209": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "210": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "value": null, - "visibility": "internal" - }, - "211": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "212": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "213": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "214": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "215": { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - "216": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "217": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "218": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "219": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "220": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "221": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - }, - "222": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "223": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - "224": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "226": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "227": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "228": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "229": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - "230": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "231": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "232": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "233": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "234": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "235": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "236": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "237": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "238": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "239": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "240": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "241": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "242": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - "243": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "244": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "245": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "246": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "247": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "248": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "249": { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - "250": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "251": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - }, - "252": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "253": { - "body": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "a9059cbb", - "id": 253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "scope": 515, - "src": "2422:364:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - "254": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "255": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "256": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "257": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "258": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "259": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "260": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "261": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "value": null, - "visibility": "internal" - }, - "262": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "263": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "264": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "265": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "266": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "267": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "268": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "269": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "270": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "271": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "272": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "273": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - }, - "274": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "275": { - "body": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 275, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "scope": 515, - "src": "2792:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "276": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "277": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "278": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "279": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "280": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "281": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "282": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "283": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "284": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "285": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - }, - "286": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "287": { - "body": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "scope": 515, - "src": "2967:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "288": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "289": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "290": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "291": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "292": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "293": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "294": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "295": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "296": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "297": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "298": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "299": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "300": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "301": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "302": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "303": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "304": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "305": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "306": { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - "307": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "308": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "309": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "310": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "311": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "312": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "313": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "314": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "315": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "316": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - "317": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "318": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "319": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "320": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "321": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "322": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "323": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - }, - "324": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "325": { - "body": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "bbda574c", - "id": 325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "scope": 515, - "src": "3059:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "326": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "327": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "value": null, - "visibility": "internal" - }, - "328": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "329": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "330": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "331": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "332": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "333": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "334": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "335": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "336": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "337": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "338": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "339": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "340": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "341": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "342": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - }, - "343": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "344": { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - "345": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "346": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - "347": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "348": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "349": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - }, - "350": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "351": { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - "352": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "353": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - "354": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "355": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "356": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - }, - "357": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - }, - "358": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "359": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "360": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - }, - "361": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "362": { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - }, - "363": { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - }, - "364": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "365": { - "body": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "aec5299f", - "id": 365, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "scope": 515, - "src": "3297:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "366": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "367": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - "368": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "369": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "370": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - "371": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "372": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - "373": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "374": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "375": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "376": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "377": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "378": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "379": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "380": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "381": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - }, - "382": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "383": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "384": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "385": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - }, - "386": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "387": { - "body": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "275e5da5", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "scope": 515, - "src": "3698:162:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - "388": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "389": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "390": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "391": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "392": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "393": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "394": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "395": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "396": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "397": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "398": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "399": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "400": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "401": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "402": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "403": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "404": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "405": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "406": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "407": { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - }, - "408": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - }, - "409": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "410": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "411": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "412": { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - }, - "413": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - }, - "414": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "415": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - "416": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "417": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "418": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "419": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - }, - "420": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "421": { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - "422": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "423": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "424": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "425": { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - "426": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "427": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "428": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "429": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "430": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "431": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - }, - "432": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "433": { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - "434": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "435": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "436": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "437": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "438": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "439": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - }, - "440": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "441": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "442": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "443": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "444": { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - "447": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "448": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "449": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - "450": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "451": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "452": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "453": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "454": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "455": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "456": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "457": { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - "458": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "459": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "460": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "461": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "462": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "463": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - "464": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "465": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "466": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "467": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "468": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - "469": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "470": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "471": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "472": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "473": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - }, - "474": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "475": { - "body": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "90dc1163", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "scope": 515, - "src": "3866:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "476": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "477": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - "478": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "479": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "480": { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - }, - "481": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "482": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "483": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - "484": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "485": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "486": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "487": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "488": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "489": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "490": { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - "491": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "492": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "493": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - }, - "494": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "495": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - }, - "496": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "497": { - "body": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "d5b488b2", - "id": 497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - } - ], - "name": "sendNothing", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "scope": 515, - "src": "4421:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - "498": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "499": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "500": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "501": { - "body": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 501, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "scope": 515, - "src": "4575:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - "502": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "503": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "504": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "505": { - "body": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 505, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "scope": 515, - "src": "4610:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - "506": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "507": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "508": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "509": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "510": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - "511": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "512": { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - }, - "513": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "514": { - "body": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "692103d0", - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "scope": 515, - "src": "4646:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "515": { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 123, - "nodeType": "InheritanceSpecifier", - "src": "1806:4:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "certora_contract_name": "Diamond", - "id": 125, - "nodeType": "InheritanceSpecifier", - "src": "1812:5:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 127, - "nodeType": "InheritanceSpecifier", - "src": "1819:6:0" - } - ], - "contractDependencies": [ - 17, - 97, - 109, - 121 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 515, - "linearizedBaseContracts": [ - 515, - 17, - 121, - 109, - 97 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "id": 130, - "libraryName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "nodeType": "UsingForDirective", - "src": "1832:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 134, - "mutability": "mutable", - "name": "accounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1864:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "history", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1913:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 139, - "mutability": "mutable", - "name": "phase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1945:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 162, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "scope": 515, - "src": "1970:153:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 108, - 120 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "5c36b186", - "id": 184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "scope": 515, - "src": "2129:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 16 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "70a08231", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "scope": 515, - "src": "2298:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "a9059cbb", - "id": 253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "scope": 515, - "src": "2422:364:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 275, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "scope": 515, - "src": "2792:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "scope": 515, - "src": "2967:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "bbda574c", - "id": 325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "scope": 515, - "src": "3059:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "aec5299f", - "id": 365, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "scope": 515, - "src": "3297:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "275e5da5", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "scope": 515, - "src": "3698:162:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "90dc1163", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "scope": 515, - "src": "3866:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "d5b488b2", - "id": 497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - } - ], - "name": "sendNothing", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "scope": 515, - "src": "4421:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 501, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "scope": 515, - "src": "4575:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 505, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "scope": 515, - "src": "4610:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "692103d0", - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "scope": 515, - "src": "4646:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 516, - "src": "1786:3832:0" - }, - "516": { - "absolutePath": "breadth_06.sol", - "exportedSymbols": { - "Base": [ - 97 - ], - "Diamond": [ - 515 - ], - "IToken": [ - 17 - ], - "Left": [ - 109 - ], - "MathLib": [ - 45 - ], - "Right": [ - 121 - ] - }, - "id": 516, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".12", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "500:32:0" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 17, - "linearizedBaseContracts": [ - 17 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "certora_contract_name": "IToken", - "documentation": null, - "id": 9, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "src": "557:72:0" - }, - { - "body": null, - "certora_contract_name": "IToken", - "documentation": null, - "functionSelector": "70a08231", - "id": 16, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "scope": 17, - "src": "635:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 516, - "src": "534:167:0" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 45, - "linearizedBaseContracts": [ - 45 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "condition": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "certora_contract_name": "MathLib", - "documentation": null, - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "scope": 45, - "src": "725:154:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 516, - "src": "703:178:0" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 97, - "linearizedBaseContracts": [ - 97 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 49, - "members": [ - { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "912:61:0" - }, - { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 54, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 97, - "src": "979:69:0", - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 57, - "mutability": "constant", - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1054:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 59, - "mutability": "immutable", - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1095:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 97, - "src": "1135:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "documentation": null, - "id": 65, - "name": "PhaseChanged", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "contractScope": null, - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "src": "1164:43:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 77, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "src": "1213:90:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Base", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "certora_contract_name": "Base", - "documentation": null, - "id": 91, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "scope": 97, - "src": "1401:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": null, - "certora_contract_name": "Base", - "documentation": null, - "functionSelector": "5c36b186", - "id": 96, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "scope": 97, - "src": "1502:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "883:670:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Left", - "contractScope": null, - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 99, - "nodeType": "InheritanceSpecifier", - "src": "1572:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 109, - "linearizedBaseContracts": [ - 109, - 97 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "certora_contract_name": "Left", - "documentation": null, - "functionSelector": "5c36b186", - "id": 108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "scope": 109, - "src": "1583:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1555:113:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Right", - "contractScope": null, - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Right", - "id": 111, - "nodeType": "InheritanceSpecifier", - "src": "1688:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 121, - "linearizedBaseContracts": [ - 121, - 97 - ], - "name": "Right", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "certora_contract_name": "Right", - "documentation": null, - "functionSelector": "5c36b186", - "id": 120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "scope": 121, - "src": "1699:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1670:114:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 123, - "nodeType": "InheritanceSpecifier", - "src": "1806:4:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "certora_contract_name": "Diamond", - "id": 125, - "nodeType": "InheritanceSpecifier", - "src": "1812:5:0" - }, - { - "arguments": null, - "baseName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 127, - "nodeType": "InheritanceSpecifier", - "src": "1819:6:0" - } - ], - "contractDependencies": [ - 17, - 97, - 109, - 121 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 515, - "linearizedBaseContracts": [ - 515, - 17, - 121, - 109, - 97 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "id": 130, - "libraryName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "nodeType": "UsingForDirective", - "src": "1832:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 134, - "mutability": "mutable", - "name": "accounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1864:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "history", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1913:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 139, - "mutability": "mutable", - "name": "phase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 515, - "src": "1945:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 162, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "scope": 515, - "src": "1970:153:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 108, - 120 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "5c36b186", - "id": 184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "scope": 515, - "src": "2129:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 16 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "70a08231", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "scope": 515, - "src": "2298:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "a9059cbb", - "id": 253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "scope": 515, - "src": "2422:364:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 275, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "scope": 515, - "src": "2792:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "scope": 515, - "src": "2967:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "bbda574c", - "id": 325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "scope": 515, - "src": "3059:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "aec5299f", - "id": 365, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "contractScope": null, - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "scope": 515, - "src": "3297:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "components": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "275e5da5", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "scope": 515, - "src": "3698:162:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "90dc1163", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "scope": 515, - "src": "3866:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "subdenomination": null, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "d5b488b2", - "id": 497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "argumentTypes": null, - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - } - ], - "name": "sendNothing", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "scope": 515, - "src": "4421:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 501, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "scope": 515, - "src": "4575:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "id": 505, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "scope": 515, - "src": "4610:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "documentation": null, - "functionSelector": "692103d0", - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "scope": 515, - "src": "4646:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 516, - "src": "1786:3832:0" - } - ], - "src": "500:5119:0" - } - } - } -} diff --git a/tests/fixtures/solidity_ast/solc_0_7_6.asts.json b/tests/fixtures/solidity_ast/solc_0_7_6.asts.json deleted file mode 100644 index 9da325e..0000000 --- a/tests/fixtures/solidity_ast/solc_0_7_6.asts.json +++ /dev/null @@ -1,46052 +0,0 @@ -{ - "breadth_06.sol": { - "breadth_06.sol": { - "1": { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".12", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "500:32:0" - }, - "2": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "3": { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "4": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "5": { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "6": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "7": { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "8": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "9": { - "anonymous": false, - "certora_contract_name": "IToken", - "id": 9, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "src": "557:72:0" - }, - "10": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "11": { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "12": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "13": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "14": { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "15": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "16": { - "certora_contract_name": "IToken", - "functionSelector": "70a08231", - "id": 16, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "scope": 17, - "src": "635:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "17": { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 17, - "linearizedBaseContracts": [ - 17 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "certora_contract_name": "IToken", - "id": 9, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "src": "557:72:0" - }, - { - "certora_contract_name": "IToken", - "functionSelector": "70a08231", - "id": 16, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "scope": 17, - "src": "635:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 516, - "src": "534:167:0" - }, - "18": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "19": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "20": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "21": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "22": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "23": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "24": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "25": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "26": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "27": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "28": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "29": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "30": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "31": { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - "32": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "33": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "34": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "35": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "36": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - }, - "37": { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - }, - "38": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "39": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "40": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "41": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "42": { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - }, - "43": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "44": { - "body": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "certora_contract_name": "MathLib", - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "scope": 45, - "src": "725:154:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "45": { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 45, - "linearizedBaseContracts": [ - 45 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "certora_contract_name": "MathLib", - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "scope": 45, - "src": "725:154:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 516, - "src": "703:178:0" - }, - "46": { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - "47": { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - "48": { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - }, - "49": { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 49, - "members": [ - { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "912:61:0" - }, - "50": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "51": { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "52": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "53": { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - "54": { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 54, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 97, - "src": "979:69:0", - "visibility": "public" - }, - "55": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "56": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "57": { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 57, - "mutability": "constant", - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1054:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - "58": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "59": { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 59, - "mutability": "immutable", - "name": "createdAt", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1095:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - "60": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "61": { - "certora_contract_name": "Base", - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1135:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "62": { - "certora_contract_name": "Base", - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "63": { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - }, - "64": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "65": { - "anonymous": false, - "certora_contract_name": "Base", - "id": 65, - "name": "PhaseChanged", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "src": "1164:43:0" - }, - "66": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "67": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "68": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "69": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "70": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "71": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "72": { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - }, - "73": { - "arguments": [ - { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "74": { - "certora_contract_name": "Base", - "expression": { - "arguments": [ - { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - "75": { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - }, - "76": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "arguments": [ - { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "77": { - "body": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "arguments": [ - { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 77, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "src": "1213:90:0", - "virtual": false, - "visibility": "internal" - }, - "78": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "79": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "80": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "81": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "82": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "83": { - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "84": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - "85": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "86": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "87": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "88": { - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "89": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - }, - "90": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "91": { - "body": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 91, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "scope": 97, - "src": "1401:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - "92": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "93": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "94": { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "95": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "96": { - "certora_contract_name": "Base", - "functionSelector": "5c36b186", - "id": 96, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "scope": 97, - "src": "1502:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "97": { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": false, - "id": 97, - "linearizedBaseContracts": [ - 97 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 49, - "members": [ - { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "912:61:0" - }, - { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 54, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 97, - "src": "979:69:0", - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 57, - "mutability": "constant", - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1054:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 59, - "mutability": "immutable", - "name": "createdAt", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1095:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1135:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "id": 65, - "name": "PhaseChanged", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "src": "1164:43:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "arguments": [ - { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 77, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "src": "1213:90:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 91, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "scope": 97, - "src": "1401:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "functionSelector": "5c36b186", - "id": 96, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "scope": 97, - "src": "1502:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "883:670:0" - }, - "98": { - "certora_contract_name": "Left", - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "99": { - "baseName": { - "certora_contract_name": "Left", - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 99, - "nodeType": "InheritanceSpecifier", - "src": "1572:4:0" - }, - "100": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "101": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "102": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "103": { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "104": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "105": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "106": { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - }, - "107": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "108": { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "certora_contract_name": "Left", - "functionSelector": "5c36b186", - "id": 108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "scope": 109, - "src": "1583:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "109": { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Left", - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 99, - "nodeType": "InheritanceSpecifier", - "src": "1572:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 109, - "linearizedBaseContracts": [ - 109, - 97 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "certora_contract_name": "Left", - "functionSelector": "5c36b186", - "id": 108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "scope": 109, - "src": "1583:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1555:113:0" - }, - "110": { - "certora_contract_name": "Right", - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "111": { - "baseName": { - "certora_contract_name": "Right", - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Right", - "id": 111, - "nodeType": "InheritanceSpecifier", - "src": "1688:4:0" - }, - "112": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "113": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "114": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "115": { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "116": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "117": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "118": { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - }, - "119": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "120": { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "certora_contract_name": "Right", - "functionSelector": "5c36b186", - "id": 120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "scope": 121, - "src": "1699:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "121": { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Right", - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Right", - "id": 111, - "nodeType": "InheritanceSpecifier", - "src": "1688:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 121, - "linearizedBaseContracts": [ - 121, - 97 - ], - "name": "Right", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "certora_contract_name": "Right", - "functionSelector": "5c36b186", - "id": 120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "scope": 121, - "src": "1699:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1670:114:0" - }, - "122": { - "certora_contract_name": "Diamond", - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "123": { - "baseName": { - "certora_contract_name": "Diamond", - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 123, - "nodeType": "InheritanceSpecifier", - "src": "1806:4:0" - }, - "124": { - "certora_contract_name": "Diamond", - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "125": { - "baseName": { - "certora_contract_name": "Diamond", - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "certora_contract_name": "Diamond", - "id": 125, - "nodeType": "InheritanceSpecifier", - "src": "1812:5:0" - }, - "126": { - "certora_contract_name": "Diamond", - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "127": { - "baseName": { - "certora_contract_name": "Diamond", - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 127, - "nodeType": "InheritanceSpecifier", - "src": "1819:6:0" - }, - "128": { - "certora_contract_name": "Diamond", - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "129": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "130": { - "certora_contract_name": "Diamond", - "id": 130, - "libraryName": { - "certora_contract_name": "Diamond", - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "nodeType": "UsingForDirective", - "src": "1832:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "131": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "132": { - "certora_contract_name": "Diamond", - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "133": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "134": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 134, - "mutability": "mutable", - "name": "accounts", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1864:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "visibility": "public" - }, - "135": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "136": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "137": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "history", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1913:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - "138": { - "certora_contract_name": "Diamond", - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "139": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 139, - "mutability": "mutable", - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1945:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "public" - }, - "140": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "141": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "142": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "143": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "144": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "145": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "146": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "147": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "148": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "149": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "150": { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "151": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "152": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "153": { - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "154": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - "155": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "157": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "158": { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "159": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "160": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - }, - "161": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "162": { - "body": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 162, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "scope": 515, - "src": "1970:153:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - "163": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "164": { - "certora_contract_name": "Diamond", - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "165": { - "certora_contract_name": "Diamond", - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "166": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "167": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "168": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "169": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "170": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "171": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "172": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "173": { - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "174": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - "175": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "176": { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "177": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "178": { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - "179": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "180": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "181": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "182": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - }, - "183": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "184": { - "baseFunctions": [ - 108, - 120 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "5c36b186", - "id": 184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "scope": 515, - "src": "2129:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - "185": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "186": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "187": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "188": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "189": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "190": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "191": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "192": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "193": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "194": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "195": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "196": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - }, - "197": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "198": { - "baseFunctions": [ - 16 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "70a08231", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "scope": 515, - "src": "2298:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "199": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "200": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "201": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "202": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "203": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "204": { - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "205": { - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - }, - "206": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "207": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - "208": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "209": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "210": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - }, - "211": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "212": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "213": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "214": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "215": { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - "216": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "217": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "218": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "219": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "220": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "221": { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - }, - "222": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "223": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - "224": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "226": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "227": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "228": { - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "229": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - "230": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "231": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "232": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "233": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "234": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "235": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "236": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "237": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "238": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "239": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "240": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "241": { - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "242": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - "243": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "244": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "245": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "246": { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "247": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "248": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "249": { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - "250": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "251": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - }, - "252": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "253": { - "body": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "a9059cbb", - "id": 253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "scope": 515, - "src": "2422:364:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - "254": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "255": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "256": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "257": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "258": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "259": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "260": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "261": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - "262": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "263": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "264": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "265": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "266": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "267": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "268": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "269": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "270": { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "271": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "272": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "273": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - }, - "274": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "275": { - "body": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 275, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "scope": 515, - "src": "2792:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "276": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "277": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "278": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "279": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "280": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "281": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "282": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "283": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "284": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "285": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - }, - "286": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "287": { - "body": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "scope": 515, - "src": "2967:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "288": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "289": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "290": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "291": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "292": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "293": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "294": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "295": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "296": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "297": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "298": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "299": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "300": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "301": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "302": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "303": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "304": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "305": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "306": { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - "307": { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "308": { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "309": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "310": { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "311": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "312": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "313": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "314": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "315": { - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "316": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - "317": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "318": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "319": { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "320": { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "321": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "322": { - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "323": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - }, - "324": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "325": { - "body": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "bbda574c", - "id": 325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "scope": 515, - "src": "3059:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "326": { - "certora_contract_name": "Diamond", - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "327": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - "328": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "329": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "330": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "331": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "332": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "333": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "334": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "335": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "336": { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "337": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "338": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "339": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "340": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "341": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "342": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - }, - "343": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "344": { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - "345": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "346": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - "347": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "348": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "349": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - }, - "350": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "351": { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - "352": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "353": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - "354": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "355": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "356": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - }, - "357": { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "358": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "359": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "360": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - }, - "361": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "362": { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - }, - "363": { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - }, - "364": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "365": { - "body": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "aec5299f", - "id": 365, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "scope": 515, - "src": "3297:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "366": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "367": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "368": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "369": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "370": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - "371": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "372": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - "373": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "374": { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "375": { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "376": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "377": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "378": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "379": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "380": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "381": { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - }, - "382": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "383": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "384": { - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "385": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - }, - "386": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "387": { - "body": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "275e5da5", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "scope": 515, - "src": "3698:162:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - "388": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "389": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "390": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "391": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "392": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "393": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "394": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "395": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "396": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "397": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "398": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "399": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "400": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "401": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "402": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "403": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "404": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "405": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "406": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "407": { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - }, - "408": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - }, - "409": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "410": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "411": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "412": { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - }, - "413": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - }, - "414": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "415": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - "416": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "417": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "418": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "419": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - }, - "420": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "421": { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - "422": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "423": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "424": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "425": { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - "426": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "427": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "428": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "429": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "430": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "431": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - }, - "432": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "433": { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - "434": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "435": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "436": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "437": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "438": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "439": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - }, - "440": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "441": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "442": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "443": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "444": { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - "447": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "448": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "449": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - "450": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "451": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "452": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "453": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "454": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "455": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "456": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "457": { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - "458": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "459": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "460": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "461": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "462": { - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "463": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - "464": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "465": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "466": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "467": { - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "468": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - "469": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "470": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "471": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "472": { - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "473": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - }, - "474": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "475": { - "body": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "90dc1163", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "scope": 515, - "src": "3866:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "476": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "477": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - "478": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "479": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "480": { - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - }, - "481": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "482": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "483": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - "484": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "485": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "486": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "487": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "488": { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "489": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "490": { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - "491": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "492": { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "493": { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - }, - "494": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "495": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - }, - "496": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "497": { - "body": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "d5b488b2", - "id": 497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - } - ], - "name": "sendNothing", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "scope": 515, - "src": "4421:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - "498": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "499": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "500": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "501": { - "body": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 501, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "scope": 515, - "src": "4575:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - "502": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "503": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "504": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "505": { - "body": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 505, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "scope": 515, - "src": "4610:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - "506": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "507": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "508": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "509": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "510": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "511": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "512": { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - }, - "513": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "514": { - "body": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "692103d0", - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "scope": 515, - "src": "4646:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "515": { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 123, - "nodeType": "InheritanceSpecifier", - "src": "1806:4:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "certora_contract_name": "Diamond", - "id": 125, - "nodeType": "InheritanceSpecifier", - "src": "1812:5:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 127, - "nodeType": "InheritanceSpecifier", - "src": "1819:6:0" - } - ], - "contractDependencies": [ - 17, - 97, - 109, - 121 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 515, - "linearizedBaseContracts": [ - 515, - 17, - 121, - 109, - 97 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "id": 130, - "libraryName": { - "certora_contract_name": "Diamond", - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "nodeType": "UsingForDirective", - "src": "1832:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 134, - "mutability": "mutable", - "name": "accounts", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1864:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "history", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1913:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 139, - "mutability": "mutable", - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1945:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 162, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "scope": 515, - "src": "1970:153:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 108, - 120 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "5c36b186", - "id": 184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "scope": 515, - "src": "2129:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 16 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "70a08231", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "scope": 515, - "src": "2298:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "a9059cbb", - "id": 253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "scope": 515, - "src": "2422:364:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 275, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "scope": 515, - "src": "2792:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "scope": 515, - "src": "2967:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "bbda574c", - "id": 325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "scope": 515, - "src": "3059:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "aec5299f", - "id": 365, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "scope": 515, - "src": "3297:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "275e5da5", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "scope": 515, - "src": "3698:162:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "90dc1163", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "scope": 515, - "src": "3866:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "d5b488b2", - "id": 497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - } - ], - "name": "sendNothing", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "scope": 515, - "src": "4421:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 501, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "scope": 515, - "src": "4575:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 505, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "scope": 515, - "src": "4610:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "692103d0", - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "scope": 515, - "src": "4646:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 516, - "src": "1786:3832:0" - }, - "516": { - "absolutePath": "breadth_06.sol", - "exportedSymbols": { - "Base": [ - 97 - ], - "Diamond": [ - 515 - ], - "IToken": [ - 17 - ], - "Left": [ - 109 - ], - "MathLib": [ - 45 - ], - "Right": [ - 121 - ] - }, - "id": 516, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".12", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "500:32:0" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 17, - "linearizedBaseContracts": [ - 17 - ], - "name": "IToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "certora_contract_name": "IToken", - "id": 9, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 8, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 3, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "572:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 5, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "594:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 4, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 7, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 9, - "src": "614:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "571:57:0" - }, - "src": "557:72:0" - }, - { - "certora_contract_name": "IToken", - "functionSelector": "70a08231", - "id": 16, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "654:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "654:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "653:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 15, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "690:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 13, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "689:9:0" - }, - "scope": 17, - "src": "635:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 516, - "src": "534:167:0" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 45, - "linearizedBaseContracts": [ - 45 - ], - "name": "MathLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 43, - "nodeType": "Block", - "src": "799:80:0", - "statements": [ - { - "assignments": [ - 27 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 43, - "src": "809:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 26, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 31, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 28, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "821:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 29, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "825:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "821:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "809:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 32, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "843:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 33, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "847:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "843:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 40, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "871:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "843:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 35, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "851:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "851:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "851:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 25, - "id": 42, - "nodeType": "Return", - "src": "836:36:0" - } - ] - }, - "certora_contract_name": "MathLib", - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 19, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "745:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "745:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "756:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 20, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "744:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "790:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 23, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "789:9:0" - }, - "scope": 45, - "src": "725:154:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 516, - "src": "703:178:0" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": false, - "id": 97, - "linearizedBaseContracts": [ - 97 - ], - "name": "Base", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 49, - "members": [ - { - "certora_contract_name": "Base", - "id": 46, - "name": "Init", - "nodeType": "EnumValue", - "src": "933:4:0" - }, - { - "certora_contract_name": "Base", - "id": 47, - "name": "Active", - "nodeType": "EnumValue", - "src": "947:6:0" - }, - { - "certora_contract_name": "Base", - "id": 48, - "name": "Done", - "nodeType": "EnumValue", - "src": "963:4:0" - } - ], - "name": "Phase", - "nodeType": "EnumDefinition", - "src": "912:61:0" - }, - { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 54, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 51, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1004:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 50, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "1029:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 52, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1029:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 97, - "src": "979:69:0", - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 57, - "mutability": "constant", - "name": "LIMIT", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1054:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 55, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1086:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 59, - "mutability": "immutable", - "name": "createdAt", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1095:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 58, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1095:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 97, - "src": "1135:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "id": 65, - "name": "PhaseChanged", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 63, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nodeType": "VariableDeclaration", - "scope": 65, - "src": "1183:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 62, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1183:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1182:24:0" - }, - "src": "1164:43:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 76, - "nodeType": "Block", - "src": "1234:69:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "arguments": [ - { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 68, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1252:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1252:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Base", - "id": 70, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1266:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1252:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Base", - "hexValue": "6e6f74206f776e6572", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:11:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - }, - "value": "not owner" - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Base", - "typeIdentifier": "t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e", - "typeString": "literal_string \"not owner\"" - } - ], - "certora_contract_name": "Base", - "id": 67, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1244:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1244:41:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74, - "nodeType": "ExpressionStatement", - "src": "1244:41:0" - }, - { - "certora_contract_name": "Base", - "id": 75, - "nodeType": "PlaceholderStatement", - "src": "1295:1:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 77, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "1231:2:0" - }, - "src": "1213:90:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 90, - "nodeType": "Block", - "src": "1424:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 80, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "1434:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 81, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1446:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1446:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1434:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 84, - "nodeType": "ExpressionStatement", - "src": "1434:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 85, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "1471:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 86, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1479:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1479:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1471:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1471:18:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 91, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 78, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 79, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:0" - }, - "scope": 97, - "src": "1401:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "functionSelector": "5c36b186", - "id": 96, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 92, - "nodeType": "ParameterList", - "parameters": [], - "src": "1515:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 96, - "src": "1542:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1541:9:0" - }, - "scope": 97, - "src": "1502:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "883:670:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Left", - "id": 98, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1572:4:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Left", - "id": 99, - "nodeType": "InheritanceSpecifier", - "src": "1572:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 109, - "linearizedBaseContracts": [ - 109, - 97 - ], - "name": "Left", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Left", - "id": 107, - "nodeType": "Block", - "src": "1641:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 104, - "id": 106, - "nodeType": "Return", - "src": "1651:8:0" - } - ] - }, - "certora_contract_name": "Left", - "functionSelector": "5c36b186", - "id": 108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 101, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1614:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1596:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1632:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1632:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1631:9:0" - }, - "scope": 109, - "src": "1583:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1555:113:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Right", - "id": 110, - "name": "Base", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 97, - "src": "1688:4:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_contract$_Base_$97", - "typeString": "contract Base" - } - }, - "certora_contract_name": "Right", - "id": 111, - "nodeType": "InheritanceSpecifier", - "src": "1688:4:0" - } - ], - "contractDependencies": [ - 97 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 121, - "linearizedBaseContracts": [ - 121, - 97 - ], - "name": "Right", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 96 - ], - "body": { - "certora_contract_name": "Right", - "id": 119, - "nodeType": "Block", - "src": "1757:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1774:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 116, - "id": 118, - "nodeType": "Return", - "src": "1767:8:0" - } - ] - }, - "certora_contract_name": "Right", - "functionSelector": "5c36b186", - "id": 120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 113, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1730:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 112, - "nodeType": "ParameterList", - "parameters": [], - "src": "1712:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1748:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1747:9:0" - }, - "scope": 121, - "src": "1699:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 516, - "src": "1670:114:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 122, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1806:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - "certora_contract_name": "Diamond", - "id": 123, - "nodeType": "InheritanceSpecifier", - "src": "1806:4:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 124, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "1812:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - }, - "certora_contract_name": "Diamond", - "id": 125, - "nodeType": "InheritanceSpecifier", - "src": "1812:5:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 126, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "1819:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "certora_contract_name": "Diamond", - "id": 127, - "nodeType": "InheritanceSpecifier", - "src": "1819:6:0" - } - ], - "contractDependencies": [ - 17, - 97, - 109, - 121 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 515, - "linearizedBaseContracts": [ - 515, - 17, - 121, - 109, - 97 - ], - "name": "Diamond", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "id": 130, - "libraryName": { - "certora_contract_name": "Diamond", - "id": 128, - "name": "MathLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 45, - "src": "1838:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_MathLib_$45", - "typeString": "library MathLib" - } - }, - "nodeType": "UsingForDirective", - "src": "1832:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 134, - "mutability": "mutable", - "name": "accounts", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1864:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 133, - "keyType": { - "certora_contract_name": "Diamond", - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1872:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1864:27:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueType": { - "certora_contract_name": "Diamond", - "id": 132, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1883:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "history", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1913:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 136, - "nodeType": "ArrayTypeName", - "src": "1913:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 139, - "mutability": "mutable", - "name": "phase", - "nodeType": "VariableDeclaration", - "scope": 515, - "src": "1945:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 138, - "name": "Phase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 49, - "src": "1945:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 161, - "nodeType": "Block", - "src": "2022:101:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 146, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2032:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 148, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 147, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 141, - "src": "2041:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2032:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 150, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2072:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 149, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "2054:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$54_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2054:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2032:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "2032:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 158, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2111:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 155, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2098:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2098:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2098:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 160, - "nodeType": "ExpressionStatement", - "src": "2098:18:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 162, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 141, - "mutability": "mutable", - "name": "firstUser", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "1982:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1982:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2001:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1981:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 145, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:0" - }, - "scope": 515, - "src": "1970:153:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 108, - 120 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 183, - "nodeType": "Block", - "src": "2192:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 170, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2202:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 171, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "2210:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$49_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Active", - "nodeType": "MemberAccess", - "src": "2210:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "src": "2202:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "2202:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 176, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 139, - "src": "2250:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$49", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 175, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "2237:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$49_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2237:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 178, - "nodeType": "EmitStatement", - "src": "2232:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 179, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2273:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_super$_Diamond_$515", - "typeString": "contract super Diamond" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 120, - "src": "2273:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2273:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 182, - "nodeType": "Return", - "src": "2266:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "5c36b186", - "id": 184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 166, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 164, - "name": "Left", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "2161:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Left_$109", - "typeString": "contract Left" - } - }, - { - "certora_contract_name": "Diamond", - "id": 165, - "name": "Right", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 121, - "src": "2167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Right_$121", - "typeString": "contract Right" - } - } - ], - "src": "2152:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 163, - "nodeType": "ParameterList", - "parameters": [], - "src": "2142:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2183:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2182:9:0" - }, - "scope": 515, - "src": "2129:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 16 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 197, - "nodeType": "Block", - "src": "2371:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 192, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2388:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 194, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 193, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "2397:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2388:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 191, - "id": 196, - "nodeType": "Return", - "src": "2381:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "70a08231", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2344:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 187, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 186, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2317:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2317:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2316:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "2362:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2362:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2361:9:0" - }, - "scope": 515, - "src": "2298:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 252, - "nodeType": "Block", - "src": "2501:285:0", - "statements": [ - { - "assignments": [ - 210 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 252, - "src": "2511:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "2511:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2534:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 214, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2543:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2543:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:43:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 217, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2572:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2572:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2588:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "696e73756666696369656e74", - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2595:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - }, - "value": "insufficient" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_1d6424f41c888659cfd6cfa52fead9c914e6f8687116697f5c9ecb1e5532665d", - "typeString": "literal_string \"insufficient\"" - } - ], - "certora_contract_name": "Diamond", - "id": 216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:46:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2564:46:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 224, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2620:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2620:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2636:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2620:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 229, - "nodeType": "ExpressionStatement", - "src": "2620:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 230, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2651:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 232, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 231, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2660:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2651:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2651:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 239, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2706:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "2674:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$54_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 236, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 235, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2683:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2674:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$54_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 51, - "src": "2674:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "2674:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2651:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 242, - "nodeType": "ExpressionStatement", - "src": "2651:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 244, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2736:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2736:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "certora_contract_name": "Diamond", - "id": 246, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "2748:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "2752:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "2727:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2727:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "EmitStatement", - "src": "2722:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2775:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 208, - "id": 251, - "nodeType": "Return", - "src": "2768:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "a9059cbb", - "id": 253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 205, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 204, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2476:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2476:9:0" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2440:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2452:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2452:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 207, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 253, - "src": "2495:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2495:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2494:6:0" - }, - "scope": 515, - "src": "2422:364:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "Block", - "src": "2930:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "2951:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 269, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2949:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2949:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 268, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 261, - "src": "2947:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 267, - "id": 273, - "nodeType": "Return", - "src": "2940:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 275, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 261, - "mutability": "mutable", - "name": "f", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2821:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 260, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2830:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2830:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2829:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 259, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 258, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2862:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2861:9:0" - }, - "src": "2821:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2882:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2882:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2811:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 267, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "2921:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2920:9:0" - }, - "scope": 515, - "src": "2792:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 286, - "nodeType": "Block", - "src": "3024:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 282, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "3041:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3045:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3041:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 281, - "id": 285, - "nodeType": "Return", - "src": "3034:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "2981:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2980:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 281, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "3015:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3015:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3014:9:0" - }, - "scope": 515, - "src": "2967:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 324, - "nodeType": "Block", - "src": "3183:108:0", - "statements": [ - { - "assignments": [ - 299 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "m", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "3193:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3193:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 306, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 300, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3205:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 301, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3209:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3205:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3217:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3205:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 303, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3213:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3193:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 307, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3229:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 308, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "3233:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 309, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3228:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "3240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 289, - "src": "3243:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 312, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "3247:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3243:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3239:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 316, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3259:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 319, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3275:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 320, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "3281:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 318, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 275, - "src": "3264:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3264:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3259:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "3259:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "bbda574c", - "id": 325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 289, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3088:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3088:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3099:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3087:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "lo", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3155:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "hi", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "3167:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3154:24:0" - }, - "scope": 515, - "src": "3059:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 364, - "nodeType": "Block", - "src": "3377:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 343, - "nodeType": "Block", - "src": "3436:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "3457:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 342, - "nodeType": "Return", - "src": "3450:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 344, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 344, - "src": "3421:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3421:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3420:15:0" - }, - "src": "3412:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 350, - "nodeType": "Block", - "src": "3501:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 333, - "id": 349, - "nodeType": "Return", - "src": "3515:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 351, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 351, - "src": "3486:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3486:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3485:15:0" - }, - "src": "3474:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 361, - "nodeType": "Block", - "src": "3556:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3582:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 355, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3577:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3577:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3577:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 333, - "id": 360, - "nodeType": "Return", - "src": "3570:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 362, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 354, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 362, - "src": "3542:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3542:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3541:14:0" - }, - "src": "3535:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 336, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3407:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3391:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 16, - "src": "3391:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3391:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 363, - "nodeType": "TryStatement", - "src": "3387:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "aec5299f", - "id": 365, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3318:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 326, - "name": "IToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 17, - "src": "3318:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$17", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3332:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3332:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3317:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 333, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 332, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "3368:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3367:9:0" - }, - "scope": 515, - "src": "3297:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 386, - "nodeType": "Block", - "src": "3778:82:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 374, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3789:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "id": 375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3793:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 376, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3788:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "70696e672829", - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - }, - "value": "ping()" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_5c36b18619eaaa0cf56c8ee3ae21bd5e5587cec138a0215c1dfb2237feddc155", - "typeString": "literal_string \"ping()\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3819:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSignature", - "nodeType": "MemberAccess", - "src": "3819:23:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes memory)" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3819:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3801:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "3801:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3801:52:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "3788:65:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "3788:65:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "275e5da5", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "probe", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3713:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3712:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3750:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3750:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3759:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 371, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3759:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3749:28:0" - }, - "scope": 515, - "src": "3698:162:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 474, - "nodeType": "Block", - "src": "3932:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 420, - "nodeType": "Block", - "src": "3974:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 404, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3992:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3997:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3992:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 409, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4051:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4055:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4051:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 414, - "nodeType": "IfStatement", - "src": "4047:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 413, - "nodeType": "Block", - "src": "4058:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 412, - "nodeType": "Break", - "src": "4076:5:0" - } - ] - } - }, - "id": 415, - "nodeType": "IfStatement", - "src": "3988:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 408, - "nodeType": "Block", - "src": "4000:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "nodeType": "Continue", - "src": "4018:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4109:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "4116:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4109:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "3966:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3962:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 421, - "initializationExpression": { - "assignments": [ - 395 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3947:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 397, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3959:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3947:13:0" - }, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3969:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 395, - "src": "3969:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 403, - "nodeType": "ExpressionStatement", - "src": "3969:3:0" - }, - "nodeType": "ForStatement", - "src": "3942:186:0" - }, - { - "assignments": [ - 423 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4137:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4137:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 425, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4137:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 432, - "nodeType": "Block", - "src": "4174:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4188:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 429, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4188:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "4188:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 426, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4167:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4171:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4167:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 433, - "nodeType": "WhileStatement", - "src": "4160:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 440, - "nodeType": "Block", - "src": "4214:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 434, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4228:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4234:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4240:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4234:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4228:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4228:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4260:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 442, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4266:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4260:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 444, - "nodeType": "DoWhileStatement", - "src": "4211:58:0" - }, - { - "assignments": [ - 449 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 449, - "mutability": "mutable", - "name": "scratch", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4278:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 448, - "nodeType": "ArrayTypeName", - "src": "4278:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 457, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 453, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "4319:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4323:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4319:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4305:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4309:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 451, - "nodeType": "ArrayTypeName", - "src": "4309:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4278:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 458, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4335:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 460, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4343:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4335:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 461, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4348:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4335:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 463, - "nodeType": "ExpressionStatement", - "src": "4335:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4361:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 464, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4368:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 466, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4376:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4368:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 468, - "nodeType": "ExpressionStatement", - "src": "4361:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4388:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 470, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4394:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4394:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 473, - "nodeType": "ExpressionStatement", - "src": "4388:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "90dc1163", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3887:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3887:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3886:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "acc", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "3919:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3918:13:0" - }, - "scope": 515, - "src": "3866:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 496, - "nodeType": "Block", - "src": "4481:88:0", - "statements": [ - { - "assignments": [ - 483, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "4492:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4492:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 490, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4523:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 484, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4505:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4505:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4520:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "4505:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 492, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "4544:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4536:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4536:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "4536:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "d5b488b2", - "id": 497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 480, - "modifierName": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "4471:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4471:9:0" - } - ], - "name": "sendNothing", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 497, - "src": "4442:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4442:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "4441:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "ParameterList", - "parameters": [], - "src": "4481:0:0" - }, - "scope": 515, - "src": "4421:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 500, - "nodeType": "Block", - "src": "4602:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 501, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 498, - "nodeType": "ParameterList", - "parameters": [], - "src": "4582:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "ParameterList", - "parameters": [], - "src": "4602:0:0" - }, - "scope": 515, - "src": "4575:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 504, - "nodeType": "Block", - "src": "4638:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 505, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "ParameterList", - "parameters": [], - "src": "4618:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "4638:0:0" - }, - "scope": 515, - "src": "4610:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 513, - "nodeType": "Block", - "src": "4707:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nodeType": "YulBlock", - "src": "4726:884:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4764:121:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4795:45:0", - "statements": [ - { - "nodeType": "YulLeave", - "src": "4817:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4792:1:0" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4785:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "4785:9:0" - }, - "nodeType": "YulIf", - "src": "4782:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "4857:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "4866:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4862:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "4862:9:0" - }, - "variableNames": [ - { - "name": "b", - "nodeType": "YulIdentifier", - "src": "4857:1:0" - } - ] - } - ] - }, - "name": "double", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nodeType": "YulTypedName", - "src": "4756:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nodeType": "YulTypedName", - "src": "4762:1:0", - "type": "" - } - ], - "src": "4740:145:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4898:12:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4909:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nodeType": "YulTypedName", - "src": "4902:3:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:210:0", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5056:48:0", - "statements": [ - { - "nodeType": "YulContinue", - "src": "5078:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5050:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5053:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5047:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5047:8:0" - }, - "nodeType": "YulIf", - "src": "5044:2:0" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5134:45:0", - "statements": [ - { - "nodeType": "YulBreak", - "src": "5156:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5127:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5124:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5124:9:0" - }, - "nodeType": "YulIf", - "src": "5121:2:0" - }, - { - "nodeType": "YulAssignment", - "src": "5196:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5207:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5219:1:0" - } - ], - "functionName": { - "name": "double", - "nodeType": "YulIdentifier", - "src": "5212:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "5212:9:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5203:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5196:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4973:1:0" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "4976:1:0" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4970:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "4970:8:0" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4979:46:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4997:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5006:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5002:9:0" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4997:1:0" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4927:42:0", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4945:10:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4949:1:0", - "type": "" - } - ] - } - ] - }, - "src": "4923:313:0" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5287:40:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5305:8:0", - "value": { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5310:3:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5305:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5280:47:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5347:48:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5365:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5374:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5379:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5370:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5370:11:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5365:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5340:55:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5345:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5416:38:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5434:6:0", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5439:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5434:1:0" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5408:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nodeType": "YulIdentifier", - "src": "5260:3:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5265:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5256:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5256:11:0" - }, - "nodeType": "YulSwitch", - "src": "5249:205:0" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5467:16:0", - "value": { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5478:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nodeType": "YulTypedName", - "src": "5471:3:0", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5496:16:0", - "value": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "5508:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nodeType": "YulTypedName", - "src": "5500:4:0", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5551:49:0", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5569:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5579:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nodeType": "YulIdentifier", - "src": "5582:3:0" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "5574:4:0" - }, - "nodeType": "YulFunctionCall", - "src": "5574:12:0" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5569:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nodeType": "YulIdentifier", - "src": "5532:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "5541:1:0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5544:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5538:2:0" - }, - "nodeType": "YulFunctionCall", - "src": "5538:11:0" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5528:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "5528:22:0" - }, - "nodeType": "YulIf", - "src": "5525:2:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "4976:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5305:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5365:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5434:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5541:1:0", - "valueSize": 1 - }, - { - "declaration": 510, - "isOffset": false, - "isSlot": false, - "src": "5569:1:0", - "valueSize": 1 - } - ], - "id": 512, - "nodeType": "InlineAssembly", - "src": "4717:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "692103d0", - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "n", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4664:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4664:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4663:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "4696:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4696:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4695:11:0" - }, - "scope": 515, - "src": "4646:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 516, - "src": "1786:3832:0" - } - ], - "src": "500:5119:0" - } - } - } -} diff --git a/tests/fixtures/solidity_ast/solc_0_8_30.asts.json b/tests/fixtures/solidity_ast/solc_0_8_30.asts.json deleted file mode 100644 index 7238d88..0000000 --- a/tests/fixtures/solidity_ast/solc_0_8_30.asts.json +++ /dev/null @@ -1,58914 +0,0 @@ -{ - "breadth_08.sol": { - "breadth_08.sol": { - "1": { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ], - "nodeType": "PragmaDirective", - "src": "384:24:0" - }, - "2": { - "id": 2, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "424:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "3": { - "canonicalName": "Price", - "id": 3, - "name": "Price", - "nameLocation": "415:5:0", - "nodeType": "UserDefinedValueTypeDefinition", - "src": "410:22:0", - "underlyingType": { - "id": 2, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "424:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - }, - "4": { - "id": 4, - "name": "Price", - "nameLocations": [ - "452:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "452:5:0" - }, - "5": { - "id": 5, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4, - "name": "Price", - "nameLocations": [ - "452:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "452:5:0" - }, - "referencedDeclaration": 3, - "src": "452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "6": { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "a", - "nameLocation": "458:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "452:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 5, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4, - "name": "Price", - "nameLocations": [ - "452:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "452:5:0" - }, - "referencedDeclaration": 3, - "src": "452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "7": { - "id": 7, - "name": "Price", - "nameLocations": [ - "461:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "461:5:0" - }, - "8": { - "id": 8, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7, - "name": "Price", - "nameLocations": [ - "461:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "461:5:0" - }, - "referencedDeclaration": 3, - "src": "461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "9": { - "constant": false, - "id": 9, - "mutability": "mutable", - "name": "b", - "nameLocation": "467:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "461:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 8, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7, - "name": "Price", - "nameLocations": [ - "461:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "461:5:0" - }, - "referencedDeclaration": 3, - "src": "461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "10": { - "id": 10, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "a", - "nameLocation": "458:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "452:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 5, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4, - "name": "Price", - "nameLocations": [ - "452:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "452:5:0" - }, - "referencedDeclaration": 3, - "src": "452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9, - "mutability": "mutable", - "name": "b", - "nameLocation": "467:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "461:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 8, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7, - "name": "Price", - "nameLocations": [ - "461:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "461:5:0" - }, - "referencedDeclaration": 3, - "src": "461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "451:18:0" - }, - "11": { - "id": 11, - "name": "Price", - "nameLocations": [ - "484:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "484:5:0" - }, - "12": { - "id": 12, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 11, - "name": "Price", - "nameLocations": [ - "484:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "484:5:0" - }, - "referencedDeclaration": 3, - "src": "484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "13": { - "constant": false, - "id": 13, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "484:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 12, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 11, - "name": "Price", - "nameLocations": [ - "484:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "484:5:0" - }, - "referencedDeclaration": 3, - "src": "484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "14": { - "id": 14, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "484:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 12, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 11, - "name": "Price", - "nameLocations": [ - "484:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "484:5:0" - }, - "referencedDeclaration": 3, - "src": "484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "483:7:0" - }, - "15": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "16": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "expression": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "510:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "504:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "17": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "18": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "19": { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "20": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "21": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "22": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "23": { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "24": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "25": { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "515:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "26": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "515:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "expression": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "510:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "504:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "504:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "27": { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "515:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "expression": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "510:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "504:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "504:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 14, - "id": 27, - "nodeType": "Return", - "src": "497:52:0" - }, - "28": { - "id": 28, - "nodeType": "Block", - "src": "491:61:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "515:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "expression": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "510:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "504:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "504:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 14, - "id": 27, - "nodeType": "Return", - "src": "497:52:0" - } - ] - }, - "29": { - "body": { - "id": 28, - "nodeType": "Block", - "src": "491:61:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "515:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "expression": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "510:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "504:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "504:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 14, - "id": 27, - "nodeType": "Return", - "src": "497:52:0" - } - ] - }, - "id": 29, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "addPrice", - "nameLocation": "443:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "a", - "nameLocation": "458:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "452:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 5, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4, - "name": "Price", - "nameLocations": [ - "452:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "452:5:0" - }, - "referencedDeclaration": 3, - "src": "452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9, - "mutability": "mutable", - "name": "b", - "nameLocation": "467:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "461:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 8, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7, - "name": "Price", - "nameLocations": [ - "461:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "461:5:0" - }, - "referencedDeclaration": 3, - "src": "461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "451:18:0" - }, - "returnParameters": { - "id": 14, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "484:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 12, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 11, - "name": "Price", - "nameLocations": [ - "484:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "484:5:0" - }, - "referencedDeclaration": 3, - "src": "484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "483:7:0" - }, - "scope": 669, - "src": "434:118:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "30": { - "id": 30, - "name": "Price", - "nameLocations": [ - "571:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "571:5:0" - }, - "31": { - "id": 31, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30, - "name": "Price", - "nameLocations": [ - "571:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "571:5:0" - }, - "referencedDeclaration": 3, - "src": "571:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "32": { - "constant": false, - "id": 32, - "mutability": "mutable", - "name": "a", - "nameLocation": "577:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "571:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 31, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30, - "name": "Price", - "nameLocations": [ - "571:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "571:5:0" - }, - "referencedDeclaration": 3, - "src": "571:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "33": { - "id": 33, - "name": "Price", - "nameLocations": [ - "580:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "580:5:0" - }, - "34": { - "id": 34, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 33, - "name": "Price", - "nameLocations": [ - "580:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "580:5:0" - }, - "referencedDeclaration": 3, - "src": "580:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "35": { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "b", - "nameLocation": "586:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "580:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 34, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 33, - "name": "Price", - "nameLocations": [ - "580:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "580:5:0" - }, - "referencedDeclaration": 3, - "src": "580:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "36": { - "id": 36, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 32, - "mutability": "mutable", - "name": "a", - "nameLocation": "577:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "571:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 31, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30, - "name": "Price", - "nameLocations": [ - "571:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "571:5:0" - }, - "referencedDeclaration": 3, - "src": "571:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "b", - "nameLocation": "586:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "580:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 34, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 33, - "name": "Price", - "nameLocations": [ - "580:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "580:5:0" - }, - "referencedDeclaration": 3, - "src": "580:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "570:18:0" - }, - "37": { - "id": 37, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "603:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "38": { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "603:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 37, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "603:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - "39": { - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "603:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 37, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "603:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "602:6:0" - }, - "40": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "41": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "42": { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "43": { - "arguments": [ - { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "622:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "44": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "45": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "46": { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "47": { - "arguments": [ - { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "641:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "48": { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "622:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "641:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "622:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "49": { - "expression": { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "622:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "641:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "622:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 39, - "id": 49, - "nodeType": "Return", - "src": "615:41:0" - }, - "50": { - "id": 50, - "nodeType": "Block", - "src": "609:50:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "622:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "641:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "622:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 39, - "id": 49, - "nodeType": "Return", - "src": "615:41:0" - } - ] - }, - "51": { - "body": { - "id": 50, - "nodeType": "Block", - "src": "609:50:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "622:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "641:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "622:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 39, - "id": 49, - "nodeType": "Return", - "src": "615:41:0" - } - ] - }, - "id": 51, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "eqPrice", - "nameLocation": "563:7:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 36, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 32, - "mutability": "mutable", - "name": "a", - "nameLocation": "577:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "571:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 31, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30, - "name": "Price", - "nameLocations": [ - "571:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "571:5:0" - }, - "referencedDeclaration": 3, - "src": "571:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "b", - "nameLocation": "586:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "580:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 34, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 33, - "name": "Price", - "nameLocations": [ - "580:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "580:5:0" - }, - "referencedDeclaration": 3, - "src": "580:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "570:18:0" - }, - "returnParameters": { - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "603:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 37, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "603:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "602:6:0" - }, - "scope": 669, - "src": "554:105:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "54": { - "id": 54, - "name": "Price", - "nameLocations": [ - "702:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "702:5:0" - }, - "55": { - "id": 55, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 54, - "name": "Price", - "nameLocations": [ - "702:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "702:5:0" - }, - "referencedDeclaration": 3, - "src": "702:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "56": { - "functionList": [ - { - "definition": { - "id": 52, - "name": "addPrice", - "nameLocations": [ - "668:8:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "668:8:0" - }, - "operator": "+" - }, - { - "definition": { - "id": 53, - "name": "eqPrice", - "nameLocations": [ - "683:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 51, - "src": "683:7:0" - }, - "operator": "==" - } - ], - "global": true, - "id": 56, - "nodeType": "UsingForDirective", - "src": "661:54:0", - "typeName": { - "id": 55, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 54, - "name": "Price", - "nameLocations": [ - "702:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "702:5:0" - }, - "referencedDeclaration": 3, - "src": "702:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - }, - "57": { - "id": 57, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "736:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "58": { - "constant": false, - "id": 58, - "mutability": "mutable", - "name": "who", - "nameLocation": "744:3:0", - "nodeType": "VariableDeclaration", - "scope": 60, - "src": "736:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 57, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "736:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "59": { - "id": 59, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 58, - "mutability": "mutable", - "name": "who", - "nameLocation": "744:3:0", - "nodeType": "VariableDeclaration", - "scope": 60, - "src": "736:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 57, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "736:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "735:13:0" - }, - "60": { - "errorSelector": "8e4a23d6", - "id": 60, - "name": "Unauthorized", - "nameLocation": "723:12:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 59, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 58, - "mutability": "mutable", - "name": "who", - "nameLocation": "744:3:0", - "nodeType": "VariableDeclaration", - "scope": 60, - "src": "736:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 57, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "736:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "735:13:0" - }, - "src": "717:32:0" - }, - "61": { - "id": 61, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "62": { - "constant": false, - "id": 62, - "mutability": "mutable", - "name": "requested", - "nameLocation": "777:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "769:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 61, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "63": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "64": { - "constant": false, - "id": 64, - "mutability": "mutable", - "name": "available", - "nameLocation": "796:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "788:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "65": { - "id": 65, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 62, - "mutability": "mutable", - "name": "requested", - "nameLocation": "777:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "769:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 61, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 64, - "mutability": "mutable", - "name": "available", - "nameLocation": "796:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "788:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "768:38:0" - }, - "66": { - "errorSelector": "e8620800", - "id": 66, - "name": "Insufficient", - "nameLocation": "756:12:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 65, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 62, - "mutability": "mutable", - "name": "requested", - "nameLocation": "777:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "769:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 61, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 64, - "mutability": "mutable", - "name": "available", - "nameLocation": "796:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "788:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "768:38:0" - }, - "src": "750:57:0" - }, - "67": { - "id": 67, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "842:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "68": { - "constant": false, - "id": 68, - "mutability": "mutable", - "name": "x", - "nameLocation": "850:1:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "842:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 67, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "842:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "69": { - "id": 69, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "70": { - "constant": false, - "id": 70, - "mutability": "mutable", - "name": "limit", - "nameLocation": "861:5:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "853:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 69, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "71": { - "id": 71, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 68, - "mutability": "mutable", - "name": "x", - "nameLocation": "850:1:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "842:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 67, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "842:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 70, - "mutability": "mutable", - "name": "limit", - "nameLocation": "861:5:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "853:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 69, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "841:26:0" - }, - "72": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "73": { - "constant": false, - "id": 73, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "882:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "74": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "882:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "881:9:0" - }, - "75": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "76": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "77": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "78": { - "id": 78, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "916:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "79": { - "id": 79, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "80": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 79, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "904:21:0", - "trueExpression": { - "id": 78, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "916:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "81": { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 79, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "904:21:0", - "trueExpression": { - "id": 78, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "916:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 74, - "id": 81, - "nodeType": "Return", - "src": "897:28:0" - }, - "82": { - "id": 82, - "nodeType": "Block", - "src": "891:37:0", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 79, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "904:21:0", - "trueExpression": { - "id": 78, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "916:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 74, - "id": 81, - "nodeType": "Return", - "src": "897:28:0" - } - ] - }, - "83": { - "body": { - "id": 82, - "nodeType": "Block", - "src": "891:37:0", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 79, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "904:21:0", - "trueExpression": { - "id": 78, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "916:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 74, - "id": 81, - "nodeType": "Return", - "src": "897:28:0" - } - ] - }, - "id": 83, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "clamp", - "nameLocation": "836:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 71, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 68, - "mutability": "mutable", - "name": "x", - "nameLocation": "850:1:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "842:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 67, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "842:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 70, - "mutability": "mutable", - "name": "limit", - "nameLocation": "861:5:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "853:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 69, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "841:26:0" - }, - "returnParameters": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "882:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "881:9:0" - }, - "scope": 669, - "src": "827:101:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "84": { - "certora_contract_name": "IToken", - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "968:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "85": { - "certora_contract_name": "IToken", - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "984:4:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "968:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "968:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "86": { - "certora_contract_name": "IToken", - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "87": { - "certora_contract_name": "IToken", - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "1006:2:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "990:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "88": { - "certora_contract_name": "IToken", - "id": 88, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "89": { - "certora_contract_name": "IToken", - "constant": false, - "id": 89, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "1018:5:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "1010:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 88, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "90": { - "certora_contract_name": "IToken", - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "984:4:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "968:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "968:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "1006:2:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "990:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 89, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "1018:5:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "1010:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 88, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "967:57:0" - }, - "91": { - "anonymous": false, - "certora_contract_name": "IToken", - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 91, - "name": "Transfer", - "nameLocation": "959:8:0", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "984:4:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "968:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "968:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "1006:2:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "990:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 89, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "1018:5:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "1010:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 88, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "967:57:0" - }, - "src": "953:72:0" - }, - "92": { - "certora_contract_name": "IToken", - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "93": { - "certora_contract_name": "IToken", - "constant": false, - "id": 93, - "mutability": "mutable", - "name": "who", - "nameLocation": "1058:3:0", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1050:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "94": { - "certora_contract_name": "IToken", - "id": 94, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 93, - "mutability": "mutable", - "name": "who", - "nameLocation": "1058:3:0", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1050:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1049:13:0" - }, - "95": { - "certora_contract_name": "IToken", - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "96": { - "certora_contract_name": "IToken", - "constant": false, - "id": 96, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1086:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "97": { - "certora_contract_name": "IToken", - "id": 97, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 96, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1086:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1085:9:0" - }, - "98": { - "certora_contract_name": "IToken", - "functionSelector": "70a08231", - "id": 98, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1040:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 94, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 93, - "mutability": "mutable", - "name": "who", - "nameLocation": "1058:3:0", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1050:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1049:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 97, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 96, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1086:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1085:9:0" - }, - "scope": 99, - "src": "1031:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "99": { - "abstract": false, - "baseContracts": [], - "canonicalName": "IToken", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 99, - "linearizedBaseContracts": [ - 99 - ], - "name": "IToken", - "nameLocation": "940:6:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "certora_contract_name": "IToken", - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 91, - "name": "Transfer", - "nameLocation": "959:8:0", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "984:4:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "968:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "968:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "1006:2:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "990:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 89, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "1018:5:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "1010:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 88, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "967:57:0" - }, - "src": "953:72:0" - }, - { - "certora_contract_name": "IToken", - "functionSelector": "70a08231", - "id": 98, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1040:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 94, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 93, - "mutability": "mutable", - "name": "who", - "nameLocation": "1058:3:0", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1050:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1049:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 97, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 96, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1086:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1085:9:0" - }, - "scope": 99, - "src": "1031:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 669, - "src": "930:167:0", - "usedErrors": [], - "usedEvents": [ - 91 - ] - }, - "100": { - "certora_contract_name": "MathLib", - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1141:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "101": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 101, - "mutability": "mutable", - "name": "a", - "nameLocation": "1149:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1141:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1141:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "102": { - "certora_contract_name": "MathLib", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "103": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "b", - "nameLocation": "1160:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1152:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "104": { - "certora_contract_name": "MathLib", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 101, - "mutability": "mutable", - "name": "a", - "nameLocation": "1149:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1141:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1141:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "b", - "nameLocation": "1160:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1152:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1140:22:0" - }, - "105": { - "certora_contract_name": "MathLib", - "id": 105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1186:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "106": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1186:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1186:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "107": { - "certora_contract_name": "MathLib", - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1186:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1186:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1185:9:0" - }, - "108": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "109": { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "110": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "111": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "112": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "113": { - "assignments": [ - 109 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 113, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1229:17:0" - }, - "114": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "115": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "116": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "117": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "118": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - }, - "119": { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - }, - "120": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "121": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "122": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "123": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "124": { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 107, - "id": 124, - "nodeType": "Return", - "src": "1260:36:0" - }, - "125": { - "certora_contract_name": "MathLib", - "id": 125, - "nodeType": "UncheckedBlock", - "src": "1205:102:0", - "statements": [ - { - "assignments": [ - 109 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 113, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1229:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 107, - "id": 124, - "nodeType": "Return", - "src": "1260:36:0" - } - ] - }, - "126": { - "certora_contract_name": "MathLib", - "id": 126, - "nodeType": "Block", - "src": "1195:118:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "id": 125, - "nodeType": "UncheckedBlock", - "src": "1205:102:0", - "statements": [ - { - "assignments": [ - 109 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 113, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1229:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 107, - "id": 124, - "nodeType": "Return", - "src": "1260:36:0" - } - ] - } - ] - }, - "127": { - "body": { - "certora_contract_name": "MathLib", - "id": 126, - "nodeType": "Block", - "src": "1195:118:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "id": 125, - "nodeType": "UncheckedBlock", - "src": "1205:102:0", - "statements": [ - { - "assignments": [ - 109 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 113, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1229:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 107, - "id": 124, - "nodeType": "Return", - "src": "1260:36:0" - } - ] - } - ] - }, - "certora_contract_name": "MathLib", - "id": 127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nameLocation": "1130:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 101, - "mutability": "mutable", - "name": "a", - "nameLocation": "1149:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1141:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1141:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "b", - "nameLocation": "1160:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1152:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1140:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1186:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1186:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1185:9:0" - }, - "scope": 128, - "src": "1121:192:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "128": { - "abstract": false, - "baseContracts": [], - "canonicalName": "MathLib", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 128, - "linearizedBaseContracts": [ - 128 - ], - "name": "MathLib", - "nameLocation": "1107:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 126, - "nodeType": "Block", - "src": "1195:118:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "id": 125, - "nodeType": "UncheckedBlock", - "src": "1205:102:0", - "statements": [ - { - "assignments": [ - 109 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 113, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1229:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 107, - "id": 124, - "nodeType": "Return", - "src": "1260:36:0" - } - ] - } - ] - }, - "certora_contract_name": "MathLib", - "id": 127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nameLocation": "1130:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 101, - "mutability": "mutable", - "name": "a", - "nameLocation": "1149:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1141:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1141:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "b", - "nameLocation": "1160:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1152:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1140:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1186:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1186:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1185:9:0" - }, - "scope": 128, - "src": "1121:192:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 669, - "src": "1099:216:0", - "usedErrors": [], - "usedEvents": [] - }, - "129": { - "certora_contract_name": "Base", - "id": 129, - "name": "Init", - "nameLocation": "1367:4:0", - "nodeType": "EnumValue", - "src": "1367:4:0" - }, - "130": { - "certora_contract_name": "Base", - "id": 130, - "name": "Active", - "nameLocation": "1381:6:0", - "nodeType": "EnumValue", - "src": "1381:6:0" - }, - "131": { - "certora_contract_name": "Base", - "id": 131, - "name": "Done", - "nameLocation": "1397:4:0", - "nodeType": "EnumValue", - "src": "1397:4:0" - }, - "132": { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 132, - "members": [ - { - "certora_contract_name": "Base", - "id": 129, - "name": "Init", - "nameLocation": "1367:4:0", - "nodeType": "EnumValue", - "src": "1367:4:0" - }, - { - "certora_contract_name": "Base", - "id": 130, - "name": "Active", - "nameLocation": "1381:6:0", - "nodeType": "EnumValue", - "src": "1381:6:0" - }, - { - "certora_contract_name": "Base", - "id": 131, - "name": "Done", - "nameLocation": "1397:4:0", - "nodeType": "EnumValue", - "src": "1397:4:0" - } - ], - "name": "Phase", - "nameLocation": "1351:5:0", - "nodeType": "EnumDefinition", - "src": "1346:61:0" - }, - "133": { - "certora_contract_name": "Base", - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1438:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "134": { - "certora_contract_name": "Base", - "constant": false, - "id": 134, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1446:7:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1438:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1438:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "135": { - "certora_contract_name": "Base", - "id": 135, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1463:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "136": { - "certora_contract_name": "Base", - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1470:5:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1463:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 135, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1463:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - "137": { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 137, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 134, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1446:7:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1438:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1438:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1470:5:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1463:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 135, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1463:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "Account", - "nameLocation": "1420:7:0", - "nodeType": "StructDefinition", - "scope": 184, - "src": "1413:69:0", - "visibility": "public" - }, - "138": { - "certora_contract_name": "Base", - "id": 138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "139": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1520:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "140": { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 140, - "mutability": "constant", - "name": "LIMIT", - "nameLocation": "1512:5:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1488:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1520:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - "141": { - "certora_contract_name": "Base", - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1529:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "142": { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 142, - "mutability": "immutable", - "name": "createdAt", - "nameLocation": "1554:9:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1529:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1529:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - "143": { - "certora_contract_name": "Base", - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1569:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "144": { - "certora_contract_name": "Base", - "constant": false, - "id": 144, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1586:5:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1569:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1569:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "145": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "146": { - "certora_contract_name": "Base", - "id": 146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "referencedDeclaration": 132, - "src": "1617:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "147": { - "certora_contract_name": "Base", - "constant": false, - "id": 147, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nameLocation": "1631:8:0", - "nodeType": "VariableDeclaration", - "scope": 149, - "src": "1617:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "referencedDeclaration": 132, - "src": "1617:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - }, - "148": { - "certora_contract_name": "Base", - "id": 148, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 147, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nameLocation": "1631:8:0", - "nodeType": "VariableDeclaration", - "scope": 149, - "src": "1617:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "referencedDeclaration": 132, - "src": "1617:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1616:24:0" - }, - "149": { - "anonymous": false, - "certora_contract_name": "Base", - "eventSelector": "a6dcc92f45df25789d5639b7a0c97ba1edf3bb1c0b5dd3376fd96a0db87c4642", - "id": 149, - "name": "PhaseChanged", - "nameLocation": "1604:12:0", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 148, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 147, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nameLocation": "1631:8:0", - "nodeType": "VariableDeclaration", - "scope": 149, - "src": "1617:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "referencedDeclaration": 132, - "src": "1617:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1616:24:0" - }, - "src": "1598:43:0" - }, - "150": { - "certora_contract_name": "Base", - "id": 150, - "nodeType": "ParameterList", - "parameters": [], - "src": "1665:2:0" - }, - "151": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "152": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "153": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "154": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1682:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "155": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "156": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "157": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "158": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "159": { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - }, - "160": { - "certora_contract_name": "Base", - "id": 160, - "nodeType": "Block", - "src": "1703:56:0", - "statements": [ - { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - } - ] - }, - "161": { - "certora_contract_name": "Base", - "condition": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1682:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 161, - "nodeType": "IfStatement", - "src": "1678:81:0", - "trueBody": { - "certora_contract_name": "Base", - "id": 160, - "nodeType": "Block", - "src": "1703:56:0", - "statements": [ - { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - } - ] - } - }, - "162": { - "certora_contract_name": "Base", - "id": 162, - "nodeType": "PlaceholderStatement", - "src": "1768:1:0" - }, - "163": { - "certora_contract_name": "Base", - "id": 163, - "nodeType": "Block", - "src": "1668:108:0", - "statements": [ - { - "certora_contract_name": "Base", - "condition": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1682:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 161, - "nodeType": "IfStatement", - "src": "1678:81:0", - "trueBody": { - "certora_contract_name": "Base", - "id": 160, - "nodeType": "Block", - "src": "1703:56:0", - "statements": [ - { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - } - ] - } - }, - { - "certora_contract_name": "Base", - "id": 162, - "nodeType": "PlaceholderStatement", - "src": "1768:1:0" - } - ] - }, - "164": { - "body": { - "certora_contract_name": "Base", - "id": 163, - "nodeType": "Block", - "src": "1668:108:0", - "statements": [ - { - "certora_contract_name": "Base", - "condition": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1682:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 161, - "nodeType": "IfStatement", - "src": "1678:81:0", - "trueBody": { - "certora_contract_name": "Base", - "id": 160, - "nodeType": "Block", - "src": "1703:56:0", - "statements": [ - { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - } - ] - } - }, - { - "certora_contract_name": "Base", - "id": 162, - "nodeType": "PlaceholderStatement", - "src": "1768:1:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 164, - "name": "onlyOwner", - "nameLocation": "1656:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 150, - "nodeType": "ParameterList", - "parameters": [], - "src": "1665:2:0" - }, - "src": "1647:129:0", - "virtual": false, - "visibility": "internal" - }, - "165": { - "certora_contract_name": "Base", - "id": 165, - "nodeType": "ParameterList", - "parameters": [], - "src": "1793:2:0" - }, - "166": { - "certora_contract_name": "Base", - "id": 166, - "nodeType": "ParameterList", - "parameters": [], - "src": "1796:0:0" - }, - "167": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "168": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "169": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "170": { - "certora_contract_name": "Base", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "171": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "1806:27:0" - }, - "172": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "173": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "174": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "175": { - "certora_contract_name": "Base", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1843:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "176": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1843:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1843:18:0" - }, - "177": { - "certora_contract_name": "Base", - "id": 177, - "nodeType": "Block", - "src": "1796:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "1806:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1843:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1843:18:0" - } - ] - }, - "178": { - "body": { - "certora_contract_name": "Base", - "id": 177, - "nodeType": "Block", - "src": "1796:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "1806:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1843:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1843:18:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 178, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 165, - "nodeType": "ParameterList", - "parameters": [], - "src": "1793:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 166, - "nodeType": "ParameterList", - "parameters": [], - "src": "1796:0:0" - }, - "scope": 184, - "src": "1782:86:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - "179": { - "certora_contract_name": "Base", - "id": 179, - "nodeType": "ParameterList", - "parameters": [], - "src": "1887:2:0" - }, - "180": { - "certora_contract_name": "Base", - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "181": { - "certora_contract_name": "Base", - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 183, - "src": "1914:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "182": { - "certora_contract_name": "Base", - "id": 182, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 183, - "src": "1914:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1913:9:0" - }, - "183": { - "certora_contract_name": "Base", - "functionSelector": "5c36b186", - "id": 183, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "1883:4:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 179, - "nodeType": "ParameterList", - "parameters": [], - "src": "1887:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 182, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 183, - "src": "1914:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1913:9:0" - }, - "scope": 184, - "src": "1874:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "184": { - "abstract": true, - "baseContracts": [], - "canonicalName": "Base", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": false, - "id": 184, - "linearizedBaseContracts": [ - 184 - ], - "name": "Base", - "nameLocation": "1335:4:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 132, - "members": [ - { - "certora_contract_name": "Base", - "id": 129, - "name": "Init", - "nameLocation": "1367:4:0", - "nodeType": "EnumValue", - "src": "1367:4:0" - }, - { - "certora_contract_name": "Base", - "id": 130, - "name": "Active", - "nameLocation": "1381:6:0", - "nodeType": "EnumValue", - "src": "1381:6:0" - }, - { - "certora_contract_name": "Base", - "id": 131, - "name": "Done", - "nameLocation": "1397:4:0", - "nodeType": "EnumValue", - "src": "1397:4:0" - } - ], - "name": "Phase", - "nameLocation": "1351:5:0", - "nodeType": "EnumDefinition", - "src": "1346:61:0" - }, - { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 137, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 134, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1446:7:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1438:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1438:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1470:5:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1463:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 135, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1463:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "Account", - "nameLocation": "1420:7:0", - "nodeType": "StructDefinition", - "scope": 184, - "src": "1413:69:0", - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 140, - "mutability": "constant", - "name": "LIMIT", - "nameLocation": "1512:5:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1488:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1520:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 142, - "mutability": "immutable", - "name": "createdAt", - "nameLocation": "1554:9:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1529:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1529:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 144, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1586:5:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1569:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1569:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "eventSelector": "a6dcc92f45df25789d5639b7a0c97ba1edf3bb1c0b5dd3376fd96a0db87c4642", - "id": 149, - "name": "PhaseChanged", - "nameLocation": "1604:12:0", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 148, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 147, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nameLocation": "1631:8:0", - "nodeType": "VariableDeclaration", - "scope": 149, - "src": "1617:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "referencedDeclaration": 132, - "src": "1617:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1616:24:0" - }, - "src": "1598:43:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 163, - "nodeType": "Block", - "src": "1668:108:0", - "statements": [ - { - "certora_contract_name": "Base", - "condition": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1682:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 161, - "nodeType": "IfStatement", - "src": "1678:81:0", - "trueBody": { - "certora_contract_name": "Base", - "id": 160, - "nodeType": "Block", - "src": "1703:56:0", - "statements": [ - { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - } - ] - } - }, - { - "certora_contract_name": "Base", - "id": 162, - "nodeType": "PlaceholderStatement", - "src": "1768:1:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 164, - "name": "onlyOwner", - "nameLocation": "1656:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 150, - "nodeType": "ParameterList", - "parameters": [], - "src": "1665:2:0" - }, - "src": "1647:129:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 177, - "nodeType": "Block", - "src": "1796:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "1806:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1843:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1843:18:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 178, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 165, - "nodeType": "ParameterList", - "parameters": [], - "src": "1793:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 166, - "nodeType": "ParameterList", - "parameters": [], - "src": "1796:0:0" - }, - "scope": 184, - "src": "1782:86:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "functionSelector": "5c36b186", - "id": 183, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "1883:4:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 179, - "nodeType": "ParameterList", - "parameters": [], - "src": "1887:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 182, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 183, - "src": "1914:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1913:9:0" - }, - "scope": 184, - "src": "1874:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 669, - "src": "1317:608:0", - "usedErrors": [], - "usedEvents": [ - 149 - ] - }, - "185": { - "certora_contract_name": "Left", - "id": 185, - "name": "Base", - "nameLocations": [ - "1944:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "1944:4:0" - }, - "186": { - "baseName": { - "certora_contract_name": "Left", - "id": 185, - "name": "Base", - "nameLocations": [ - "1944:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "1944:4:0" - }, - "certora_contract_name": "Left", - "id": 186, - "nodeType": "InheritanceSpecifier", - "src": "1944:4:0" - }, - "187": { - "certora_contract_name": "Left", - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "1968:2:0" - }, - "188": { - "certora_contract_name": "Left", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1986:8:0" - }, - "189": { - "certora_contract_name": "Left", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2004:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "190": { - "certora_contract_name": "Left", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 195, - "src": "2004:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2004:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "191": { - "certora_contract_name": "Left", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 195, - "src": "2004:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2004:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2003:9:0" - }, - "192": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "193": { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 191, - "id": 193, - "nodeType": "Return", - "src": "2023:8:0" - }, - "194": { - "certora_contract_name": "Left", - "id": 194, - "nodeType": "Block", - "src": "2013:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 191, - "id": 193, - "nodeType": "Return", - "src": "2023:8:0" - } - ] - }, - "195": { - "baseFunctions": [ - 183 - ], - "body": { - "certora_contract_name": "Left", - "id": 194, - "nodeType": "Block", - "src": "2013:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 191, - "id": 193, - "nodeType": "Return", - "src": "2023:8:0" - } - ] - }, - "certora_contract_name": "Left", - "functionSelector": "5c36b186", - "id": 195, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "1964:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1986:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "1968:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 195, - "src": "2004:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2004:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2003:9:0" - }, - "scope": 196, - "src": "1955:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "196": { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Left", - "id": 185, - "name": "Base", - "nameLocations": [ - "1944:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "1944:4:0" - }, - "certora_contract_name": "Left", - "id": 186, - "nodeType": "InheritanceSpecifier", - "src": "1944:4:0" - } - ], - "canonicalName": "Left", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 196, - "linearizedBaseContracts": [ - 196, - 184 - ], - "name": "Left", - "nameLocation": "1936:4:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 183 - ], - "body": { - "certora_contract_name": "Left", - "id": 194, - "nodeType": "Block", - "src": "2013:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 191, - "id": 193, - "nodeType": "Return", - "src": "2023:8:0" - } - ] - }, - "certora_contract_name": "Left", - "functionSelector": "5c36b186", - "id": 195, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "1964:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1986:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "1968:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 195, - "src": "2004:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2004:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2003:9:0" - }, - "scope": 196, - "src": "1955:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 669, - "src": "1927:113:0", - "usedErrors": [], - "usedEvents": [ - 149 - ] - }, - "197": { - "certora_contract_name": "Right", - "id": 197, - "name": "Base", - "nameLocations": [ - "2060:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "2060:4:0" - }, - "198": { - "baseName": { - "certora_contract_name": "Right", - "id": 197, - "name": "Base", - "nameLocations": [ - "2060:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "2060:4:0" - }, - "certora_contract_name": "Right", - "id": 198, - "nodeType": "InheritanceSpecifier", - "src": "2060:4:0" - }, - "199": { - "certora_contract_name": "Right", - "id": 199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:2:0" - }, - "200": { - "certora_contract_name": "Right", - "id": 200, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2102:8:0" - }, - "201": { - "certora_contract_name": "Right", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "202": { - "certora_contract_name": "Right", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 207, - "src": "2120:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "203": { - "certora_contract_name": "Right", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 207, - "src": "2120:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2119:9:0" - }, - "204": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2146:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "205": { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2146:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 203, - "id": 205, - "nodeType": "Return", - "src": "2139:8:0" - }, - "206": { - "certora_contract_name": "Right", - "id": 206, - "nodeType": "Block", - "src": "2129:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2146:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 203, - "id": 205, - "nodeType": "Return", - "src": "2139:8:0" - } - ] - }, - "207": { - "baseFunctions": [ - 183 - ], - "body": { - "certora_contract_name": "Right", - "id": 206, - "nodeType": "Block", - "src": "2129:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2146:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 203, - "id": 205, - "nodeType": "Return", - "src": "2139:8:0" - } - ] - }, - "certora_contract_name": "Right", - "functionSelector": "5c36b186", - "id": 207, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "2080:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 200, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2102:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 207, - "src": "2120:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2119:9:0" - }, - "scope": 208, - "src": "2071:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - "208": { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Right", - "id": 197, - "name": "Base", - "nameLocations": [ - "2060:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "2060:4:0" - }, - "certora_contract_name": "Right", - "id": 198, - "nodeType": "InheritanceSpecifier", - "src": "2060:4:0" - } - ], - "canonicalName": "Right", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 208, - "linearizedBaseContracts": [ - 208, - 184 - ], - "name": "Right", - "nameLocation": "2051:5:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 183 - ], - "body": { - "certora_contract_name": "Right", - "id": 206, - "nodeType": "Block", - "src": "2129:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2146:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 203, - "id": 205, - "nodeType": "Return", - "src": "2139:8:0" - } - ] - }, - "certora_contract_name": "Right", - "functionSelector": "5c36b186", - "id": 207, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "2080:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 200, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2102:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 207, - "src": "2120:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2119:9:0" - }, - "scope": 208, - "src": "2071:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 669, - "src": "2042:114:0", - "usedErrors": [], - "usedEvents": [ - 149 - ] - }, - "209": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Left", - "nameLocations": [ - "2178:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2178:4:0" - }, - "210": { - "baseName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Left", - "nameLocations": [ - "2178:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2178:4:0" - }, - "certora_contract_name": "Diamond", - "id": 210, - "nodeType": "InheritanceSpecifier", - "src": "2178:4:0" - }, - "211": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "Right", - "nameLocations": [ - "2184:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2184:5:0" - }, - "212": { - "baseName": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "Right", - "nameLocations": [ - "2184:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2184:5:0" - }, - "certora_contract_name": "Diamond", - "id": 212, - "nodeType": "InheritanceSpecifier", - "src": "2184:5:0" - }, - "213": { - "certora_contract_name": "Diamond", - "id": 213, - "name": "IToken", - "nameLocations": [ - "2191:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "2191:6:0" - }, - "214": { - "baseName": { - "certora_contract_name": "Diamond", - "id": 213, - "name": "IToken", - "nameLocations": [ - "2191:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "2191:6:0" - }, - "certora_contract_name": "Diamond", - "id": 214, - "nodeType": "InheritanceSpecifier", - "src": "2191:6:0" - }, - "215": { - "certora_contract_name": "Diamond", - "id": 215, - "name": "MathLib", - "nameLocations": [ - "2210:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 128, - "src": "2210:7:0" - }, - "216": { - "certora_contract_name": "Diamond", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "217": { - "certora_contract_name": "Diamond", - "global": false, - "id": 217, - "libraryName": { - "certora_contract_name": "Diamond", - "id": 215, - "name": "MathLib", - "nameLocations": [ - "2210:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 128, - "src": "2210:7:0" - }, - "nodeType": "UsingForDirective", - "src": "2204:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "218": { - "certora_contract_name": "Diamond", - "id": 218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2300:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "219": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "Account", - "nameLocations": [ - "2317:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "2317:7:0" - }, - "220": { - "certora_contract_name": "Diamond", - "id": 220, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "Account", - "nameLocations": [ - "2317:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "2317:7:0" - }, - "referencedDeclaration": 137, - "src": "2317:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "221": { - "certora_contract_name": "Diamond", - "id": 221, - "keyName": "owner", - "keyNameLocation": "2308:5:0", - "keyType": { - "certora_contract_name": "Diamond", - "id": 218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2300:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2292:41:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueName": "account", - "valueNameLocation": "2325:7:0", - "valueType": { - "certora_contract_name": "Diamond", - "id": 220, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "Account", - "nameLocations": [ - "2317:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "2317:7:0" - }, - "referencedDeclaration": 137, - "src": "2317:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "222": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 222, - "mutability": "mutable", - "name": "accounts", - "nameLocation": "2341:8:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2292:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 221, - "keyName": "owner", - "keyNameLocation": "2308:5:0", - "keyType": { - "certora_contract_name": "Diamond", - "id": 218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2300:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2292:41:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueName": "account", - "valueNameLocation": "2325:7:0", - "valueType": { - "certora_contract_name": "Diamond", - "id": 220, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "Account", - "nameLocations": [ - "2317:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "2317:7:0" - }, - "referencedDeclaration": 137, - "src": "2317:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "visibility": "public" - }, - "223": { - "certora_contract_name": "Diamond", - "id": 223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "224": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 224, - "nodeType": "ArrayTypeName", - "src": "2355:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "225": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "history", - "nameLocation": "2374:7:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2355:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 224, - "nodeType": "ArrayTypeName", - "src": "2355:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - "226": { - "certora_contract_name": "Diamond", - "id": 226, - "name": "Phase", - "nameLocations": [ - "2387:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "2387:5:0" - }, - "227": { - "certora_contract_name": "Diamond", - "id": 227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 226, - "name": "Phase", - "nameLocations": [ - "2387:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "2387:5:0" - }, - "referencedDeclaration": 132, - "src": "2387:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "228": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 228, - "mutability": "mutable", - "name": "phase", - "nameLocation": "2400:5:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2387:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 226, - "name": "Phase", - "nameLocations": [ - "2387:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "2387:5:0" - }, - "referencedDeclaration": 132, - "src": "2387:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "public" - }, - "229": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "Price", - "nameLocations": [ - "2411:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "2411:5:0" - }, - "230": { - "certora_contract_name": "Diamond", - "id": 230, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "Price", - "nameLocations": [ - "2411:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "2411:5:0" - }, - "referencedDeclaration": 3, - "src": "2411:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "231": { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "9363c812", - "id": 231, - "mutability": "mutable", - "name": "floorPrice", - "nameLocation": "2424:10:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2411:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 230, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "Price", - "nameLocations": [ - "2411:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "2411:5:0" - }, - "referencedDeclaration": 3, - "src": "2411:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "public" - }, - "232": { - "certora_contract_name": "Diamond", - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2453:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "233": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "firstUser", - "nameLocation": "2461:9:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2453:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2453:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "234": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "235": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 235, - "mutability": "mutable", - "name": "seed", - "nameLocation": "2480:4:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2472:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "236": { - "certora_contract_name": "Diamond", - "id": 236, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "firstUser", - "nameLocation": "2461:9:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2453:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2453:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 235, - "mutability": "mutable", - "name": "seed", - "nameLocation": "2480:4:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2472:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2452:33:0" - }, - "237": { - "certora_contract_name": "Diamond", - "id": 237, - "nodeType": "ParameterList", - "parameters": [], - "src": "2486:0:0" - }, - "238": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "239": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "240": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "241": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "242": { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "243": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "244": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "245": { - "certora_contract_name": "Diamond", - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2496:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "246": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2496:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2496:56:0" - }, - "247": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "249": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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)" - } - }, - "250": { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "251": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2562:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "252": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2562:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 252, - "nodeType": "ExpressionStatement", - "src": "2562:18:0" - }, - "253": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "254": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "255": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "256": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - }, - "257": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "258": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "259": { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "260": { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "261": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "262": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "263": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "264": { - "certora_contract_name": "Diamond", - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "2590:52:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "265": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "2590:52:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "id": 265, - "nodeType": "ExpressionStatement", - "src": "2590:52:0" - }, - "266": { - "certora_contract_name": "Diamond", - "id": 266, - "nodeType": "Block", - "src": "2486:163:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2496:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2496:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2562:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 252, - "nodeType": "ExpressionStatement", - "src": "2562:18:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "2590:52:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "id": 265, - "nodeType": "ExpressionStatement", - "src": "2590:52:0" - } - ] - }, - "267": { - "body": { - "certora_contract_name": "Diamond", - "id": 266, - "nodeType": "Block", - "src": "2486:163:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2496:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2496:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2562:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 252, - "nodeType": "ExpressionStatement", - "src": "2562:18:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "2590:52:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "id": 265, - "nodeType": "ExpressionStatement", - "src": "2590:52:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 267, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 236, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "firstUser", - "nameLocation": "2461:9:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2453:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2453:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 235, - "mutability": "mutable", - "name": "seed", - "nameLocation": "2480:4:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2472:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2452:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 237, - "nodeType": "ParameterList", - "parameters": [], - "src": "2486:0:0" - }, - "scope": 668, - "src": "2441:208:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - "268": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [], - "src": "2668:2:0" - }, - "269": { - "certora_contract_name": "Diamond", - "id": 269, - "name": "Left", - "nameLocations": [ - "2687:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2687:4:0" - }, - "270": { - "certora_contract_name": "Diamond", - "id": 270, - "name": "Right", - "nameLocations": [ - "2693:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2693:5:0" - }, - "271": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 269, - "name": "Left", - "nameLocations": [ - "2687:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2687:4:0" - }, - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "Right", - "nameLocations": [ - "2693:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2693:5:0" - } - ], - "src": "2678:21:0" - }, - "272": { - "certora_contract_name": "Diamond", - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "273": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 289, - "src": "2709:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "274": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 289, - "src": "2709:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2708:9:0" - }, - "275": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "276": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "277": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "278": { - "certora_contract_name": "Diamond", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "src": "2728:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "279": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "src": "2728:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "2728:20:0" - }, - "280": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "281": { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "282": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2763:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "283": { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2763:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "EmitStatement", - "src": "2758:24:0" - }, - "284": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "285": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "286": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "287": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 274, - "id": 287, - "nodeType": "Return", - "src": "2792:19:0" - }, - "288": { - "certora_contract_name": "Diamond", - "id": 288, - "nodeType": "Block", - "src": "2718:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "src": "2728:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "2728:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2763:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "EmitStatement", - "src": "2758:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 274, - "id": 287, - "nodeType": "Return", - "src": "2792:19:0" - } - ] - }, - "289": { - "baseFunctions": [ - 195, - 207 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 288, - "nodeType": "Block", - "src": "2718:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "src": "2728:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "2728:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2763:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "EmitStatement", - "src": "2758:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 274, - "id": 287, - "nodeType": "Return", - "src": "2792:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "5c36b186", - "id": 289, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "2664:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 269, - "name": "Left", - "nameLocations": [ - "2687:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2687:4:0" - }, - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "Right", - "nameLocations": [ - "2693:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2693:5:0" - } - ], - "src": "2678:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [], - "src": "2668:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 289, - "src": "2709:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2708:9:0" - }, - "scope": 668, - "src": "2655:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - "290": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2843:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "291": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "who", - "nameLocation": "2851:3:0", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2843:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2843:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "292": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "who", - "nameLocation": "2851:3:0", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2843:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2843:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2842:13:0" - }, - "293": { - "certora_contract_name": "Diamond", - "id": 293, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2870:8:0" - }, - "294": { - "certora_contract_name": "Diamond", - "id": 294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2888:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "295": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2888:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2888:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "296": { - "certora_contract_name": "Diamond", - "id": 296, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2888:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2888:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2887:9:0" - }, - "297": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "298": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "299": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "300": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2928:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "2914:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "301": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2928:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "2914:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 296, - "id": 301, - "nodeType": "Return", - "src": "2907:28:0" - }, - "302": { - "certora_contract_name": "Diamond", - "id": 302, - "nodeType": "Block", - "src": "2897:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2928:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "2914:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 296, - "id": 301, - "nodeType": "Return", - "src": "2907:28:0" - } - ] - }, - "303": { - "baseFunctions": [ - 98 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 302, - "nodeType": "Block", - "src": "2897:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2928:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "2914:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 296, - "id": 301, - "nodeType": "Return", - "src": "2907:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "70a08231", - "id": 303, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "2833:9:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 293, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2870:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "who", - "nameLocation": "2851:3:0", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2843:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2843:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2842:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 296, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2888:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2888:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2887:9:0" - }, - "scope": 668, - "src": "2824:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "304": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "305": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 305, - "mutability": "mutable", - "name": "to", - "nameLocation": "2974:2:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2966:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "306": { - "certora_contract_name": "Diamond", - "id": 306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2978:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "307": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 307, - "mutability": "mutable", - "name": "value", - "nameLocation": "2986:5:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2978:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2978:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "308": { - "certora_contract_name": "Diamond", - "id": 308, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 305, - "mutability": "mutable", - "name": "to", - "nameLocation": "2974:2:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2966:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 307, - "mutability": "mutable", - "name": "value", - "nameLocation": "2986:5:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2978:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2978:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2965:27:0" - }, - "309": { - "certora_contract_name": "Diamond", - "id": 309, - "name": "onlyOwner", - "nameLocations": [ - "3002:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "3002:9:0" - }, - "310": { - "certora_contract_name": "Diamond", - "id": 310, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 309, - "name": "onlyOwner", - "nameLocations": [ - "3002:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "3002:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "3002:9:0" - }, - "311": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3021:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "312": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 312, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3021:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3021:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - "313": { - "certora_contract_name": "Diamond", - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 312, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3021:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3021:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3020:6:0" - }, - "314": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "315": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "316": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "from", - "nameLocation": "3053:4:0", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3037:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - }, - "317": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "318": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "319": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "320": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 320, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3060:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "321": { - "assignments": [ - 316 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "from", - "nameLocation": "3053:4:0", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3037:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 321, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 320, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3060:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3037:43:0" - }, - "322": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "323": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "324": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "325": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3094:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "326": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "327": { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "328": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "329": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "330": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "331": { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - }, - "332": { - "certora_contract_name": "Diamond", - "id": 332, - "nodeType": "Block", - "src": "3116:65:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - } - ] - }, - "333": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3094:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 333, - "nodeType": "IfStatement", - "src": "3090:91:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 332, - "nodeType": "Block", - "src": "3116:65:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - } - ] - } - }, - "334": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "336": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "337": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "338": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "339": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "3214:21:0" - }, - "340": { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "UncheckedBlock", - "src": "3190:56:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "3214:21:0" - } - ] - }, - "341": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "342": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "343": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "344": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "345": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "346": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "347": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "348": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "349": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "350": { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "351": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "352": { - "certora_contract_name": "Diamond", - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3255:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "353": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3255:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "3255:61:0" - }, - "354": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "355": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "356": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "357": { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "358": { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "359": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3331:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "360": { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3331:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 360, - "nodeType": "EmitStatement", - "src": "3326:36:0" - }, - "361": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3379:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "362": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3379:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 313, - "id": 362, - "nodeType": "Return", - "src": "3372:11:0" - }, - "363": { - "certora_contract_name": "Diamond", - "id": 363, - "nodeType": "Block", - "src": "3027:363:0", - "statements": [ - { - "assignments": [ - 316 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "from", - "nameLocation": "3053:4:0", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3037:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 321, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 320, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3060:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3037:43:0" - }, - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3094:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 333, - "nodeType": "IfStatement", - "src": "3090:91:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 332, - "nodeType": "Block", - "src": "3116:65:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "UncheckedBlock", - "src": "3190:56:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "3214:21:0" - } - ] - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3255:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "3255:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3331:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 360, - "nodeType": "EmitStatement", - "src": "3326:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3379:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 313, - "id": 362, - "nodeType": "Return", - "src": "3372:11:0" - } - ] - }, - "364": { - "body": { - "certora_contract_name": "Diamond", - "id": 363, - "nodeType": "Block", - "src": "3027:363:0", - "statements": [ - { - "assignments": [ - 316 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "from", - "nameLocation": "3053:4:0", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3037:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 321, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 320, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3060:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3037:43:0" - }, - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3094:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 333, - "nodeType": "IfStatement", - "src": "3090:91:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 332, - "nodeType": "Block", - "src": "3116:65:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "UncheckedBlock", - "src": "3190:56:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "3214:21:0" - } - ] - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3255:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "3255:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3331:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 360, - "nodeType": "EmitStatement", - "src": "3326:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3379:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 313, - "id": 362, - "nodeType": "Return", - "src": "3372:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "a9059cbb", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 309, - "name": "onlyOwner", - "nameLocations": [ - "3002:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "3002:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "3002:9:0" - } - ], - "name": "transfer", - "nameLocation": "2957:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 308, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 305, - "mutability": "mutable", - "name": "to", - "nameLocation": "2974:2:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2966:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 307, - "mutability": "mutable", - "name": "value", - "nameLocation": "2986:5:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2978:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2978:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2965:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 312, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3021:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3021:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3020:6:0" - }, - "scope": 668, - "src": "2948:442:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - "365": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "366": { - "certora_contract_name": "Diamond", - "id": 366, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "referencedDeclaration": 3, - "src": "3473:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "367": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "a", - "nameLocation": "3479:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3473:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "referencedDeclaration": 3, - "src": "3473:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "368": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "369": { - "certora_contract_name": "Diamond", - "id": 369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "referencedDeclaration": 3, - "src": "3482:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "370": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "b", - "nameLocation": "3488:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3482:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "referencedDeclaration": 3, - "src": "3482:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "371": { - "certora_contract_name": "Diamond", - "id": 371, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "a", - "nameLocation": "3479:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3473:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "referencedDeclaration": 3, - "src": "3473:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "b", - "nameLocation": "3488:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3482:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "referencedDeclaration": 3, - "src": "3482:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3472:18:0" - }, - "372": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "373": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "referencedDeclaration": 3, - "src": "3512:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "374": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 374, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3512:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "referencedDeclaration": 3, - "src": "3512:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - "375": { - "certora_contract_name": "Diamond", - "id": 375, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 374, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3512:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "referencedDeclaration": 3, - "src": "3512:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3511:7:0" - }, - "376": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "377": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "378": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 51, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3533:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "379": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "380": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "381": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "382": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - }, - "383": { - "certora_contract_name": "Diamond", - "id": 383, - "nodeType": "Block", - "src": "3541:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - } - ] - }, - "384": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 51, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3533:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 384, - "nodeType": "IfStatement", - "src": "3529:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 383, - "nodeType": "Block", - "src": "3541:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - } - ] - } - }, - "385": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "386": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "387": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3594:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "388": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3594:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 388, - "nodeType": "Return", - "src": "3587:12:0" - }, - "389": { - "certora_contract_name": "Diamond", - "id": 389, - "nodeType": "Block", - "src": "3519:87:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 51, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3533:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 384, - "nodeType": "IfStatement", - "src": "3529:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 383, - "nodeType": "Block", - "src": "3541:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3594:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 388, - "nodeType": "Return", - "src": "3587:12:0" - } - ] - }, - "390": { - "body": { - "certora_contract_name": "Diamond", - "id": 389, - "nodeType": "Block", - "src": "3519:87:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 51, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3533:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 384, - "nodeType": "IfStatement", - "src": "3529:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 383, - "nodeType": "Block", - "src": "3541:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3594:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 388, - "nodeType": "Return", - "src": "3587:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "f5dff84f", - "id": 390, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "total", - "nameLocation": "3467:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 371, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "a", - "nameLocation": "3479:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3473:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "referencedDeclaration": 3, - "src": "3473:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "b", - "nameLocation": "3488:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3482:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "referencedDeclaration": 3, - "src": "3482:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3472:18:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 375, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 374, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3512:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "referencedDeclaration": 3, - "src": "3512:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3511:7:0" - }, - "scope": 668, - "src": "3458:148:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "391": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "392": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "393": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "394": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "395": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "396": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "397": { - "certora_contract_name": "Diamond", - "id": 397, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "src": "3641:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "398": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 398, - "mutability": "mutable", - "name": "f", - "nameLocation": "3691:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3641:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 397, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "src": "3641:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - "399": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3702:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "400": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 400, - "mutability": "mutable", - "name": "x", - "nameLocation": "3710:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3702:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3702:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "401": { - "certora_contract_name": "Diamond", - "id": 401, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 398, - "mutability": "mutable", - "name": "f", - "nameLocation": "3691:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3641:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 397, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "src": "3641:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 400, - "mutability": "mutable", - "name": "x", - "nameLocation": "3710:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3702:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3702:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3631:86:0" - }, - "402": { - "certora_contract_name": "Diamond", - "id": 402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "403": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 403, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3741:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "404": { - "certora_contract_name": "Diamond", - "id": 404, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 403, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3741:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3740:9:0" - }, - "405": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "406": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "407": { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "408": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "409": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "410": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 404, - "id": 410, - "nodeType": "Return", - "src": "3760:14:0" - }, - "411": { - "certora_contract_name": "Diamond", - "id": 411, - "nodeType": "Block", - "src": "3750:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 404, - "id": 410, - "nodeType": "Return", - "src": "3760:14:0" - } - ] - }, - "412": { - "body": { - "certora_contract_name": "Diamond", - "id": 411, - "nodeType": "Block", - "src": "3750:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 404, - "id": 410, - "nodeType": "Return", - "src": "3760:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nameLocation": "3621:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 401, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 398, - "mutability": "mutable", - "name": "f", - "nameLocation": "3691:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3641:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 397, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "src": "3641:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 400, - "mutability": "mutable", - "name": "x", - "nameLocation": "3710:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3702:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3702:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3631:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 404, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 403, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3741:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3740:9:0" - }, - "scope": 668, - "src": "3612:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "413": { - "certora_contract_name": "Diamond", - "id": 413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3801:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "414": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "x", - "nameLocation": "3809:1:0", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3801:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3801:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "415": { - "certora_contract_name": "Diamond", - "id": 415, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "x", - "nameLocation": "3809:1:0", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3801:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3801:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3800:11:0" - }, - "416": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3835:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "417": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 417, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3835:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3835:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "418": { - "certora_contract_name": "Diamond", - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 417, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3835:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3835:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3834:9:0" - }, - "419": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "420": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "421": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3861:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "422": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3861:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 418, - "id": 422, - "nodeType": "Return", - "src": "3854:12:0" - }, - "423": { - "certora_contract_name": "Diamond", - "id": 423, - "nodeType": "Block", - "src": "3844:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3861:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 418, - "id": 422, - "nodeType": "Return", - "src": "3854:12:0" - } - ] - }, - "424": { - "body": { - "certora_contract_name": "Diamond", - "id": 423, - "nodeType": "Block", - "src": "3844:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3861:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 418, - "id": 422, - "nodeType": "Return", - "src": "3854:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nameLocation": "3796:4:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 415, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "x", - "nameLocation": "3809:1:0", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3801:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3801:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3800:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 417, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3835:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3835:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3834:9:0" - }, - "scope": 668, - "src": "3787:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - "425": { - "certora_contract_name": "Diamond", - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3908:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "426": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "a", - "nameLocation": "3916:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3908:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3908:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "427": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "428": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "b", - "nameLocation": "3927:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3919:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "429": { - "certora_contract_name": "Diamond", - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "a", - "nameLocation": "3916:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3908:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3908:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "b", - "nameLocation": "3927:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3919:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3907:22:0" - }, - "430": { - "certora_contract_name": "Diamond", - "id": 430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "431": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 431, - "mutability": "mutable", - "name": "lo", - "nameLocation": "3983:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3975:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "432": { - "certora_contract_name": "Diamond", - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3987:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "433": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 433, - "mutability": "mutable", - "name": "hi", - "nameLocation": "3995:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3987:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3987:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "434": { - "certora_contract_name": "Diamond", - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 431, - "mutability": "mutable", - "name": "lo", - "nameLocation": "3983:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3975:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 433, - "mutability": "mutable", - "name": "hi", - "nameLocation": "3995:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3987:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3987:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3974:24:0" - }, - "435": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "436": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 436, - "mutability": "mutable", - "name": "m", - "nameLocation": "4021:1:0", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "4013:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "437": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "438": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "439": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "440": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "441": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "442": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4025:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "443": { - "assignments": [ - 436 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 436, - "mutability": "mutable", - "name": "m", - "nameLocation": "4021:1:0", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "4013:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4025:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4013:25:0" - }, - "444": { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "445": { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "446": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "447": { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "448": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "449": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "450": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "451": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "452": { - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "4048:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "453": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "4048:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 453, - "nodeType": "ExpressionStatement", - "src": "4048:21:0" - }, - "454": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "455": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "456": { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "457": { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "458": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "459": { - "certora_contract_name": "Diamond", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4079:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "460": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4079:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 460, - "nodeType": "ExpressionStatement", - "src": "4079:25:0" - }, - "461": { - "certora_contract_name": "Diamond", - "id": 461, - "nodeType": "Block", - "src": "4003:108:0", - "statements": [ - { - "assignments": [ - 436 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 436, - "mutability": "mutable", - "name": "m", - "nameLocation": "4021:1:0", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "4013:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4025:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4013:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "4048:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 453, - "nodeType": "ExpressionStatement", - "src": "4048:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4079:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 460, - "nodeType": "ExpressionStatement", - "src": "4079:25:0" - } - ] - }, - "462": { - "body": { - "certora_contract_name": "Diamond", - "id": 461, - "nodeType": "Block", - "src": "4003:108:0", - "statements": [ - { - "assignments": [ - 436 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 436, - "mutability": "mutable", - "name": "m", - "nameLocation": "4021:1:0", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "4013:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4025:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4013:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "4048:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 453, - "nodeType": "ExpressionStatement", - "src": "4048:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4079:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 460, - "nodeType": "ExpressionStatement", - "src": "4079:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "bbda574c", - "id": 462, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nameLocation": "3888:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "a", - "nameLocation": "3916:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3908:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3908:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "b", - "nameLocation": "3927:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3919:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3907:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 431, - "mutability": "mutable", - "name": "lo", - "nameLocation": "3983:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3975:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 433, - "mutability": "mutable", - "name": "hi", - "nameLocation": "3995:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3987:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3987:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3974:24:0" - }, - "scope": 668, - "src": "3879:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "463": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "464": { - "certora_contract_name": "Diamond", - "id": 464, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "referencedDeclaration": 99, - "src": "4138:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "465": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 465, - "mutability": "mutable", - "name": "token", - "nameLocation": "4145:5:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4138:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 464, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "referencedDeclaration": 99, - "src": "4138:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - "466": { - "certora_contract_name": "Diamond", - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4152:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "467": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 467, - "mutability": "mutable", - "name": "who", - "nameLocation": "4160:3:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4152:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "468": { - "certora_contract_name": "Diamond", - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 465, - "mutability": "mutable", - "name": "token", - "nameLocation": "4145:5:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4138:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 464, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "referencedDeclaration": 99, - "src": "4138:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 467, - "mutability": "mutable", - "name": "who", - "nameLocation": "4160:3:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4152:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4137:27:0" - }, - "469": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4188:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "470": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 470, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4188:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4188:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "471": { - "certora_contract_name": "Diamond", - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 470, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4188:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4188:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4187:9:0" - }, - "472": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "473": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "474": { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "475": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4211:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "476": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "477": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "478": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "479": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "480": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - }, - "481": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "482": { - "block": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 482, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "src": "4232:61:0" - }, - "483": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "484": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - "485": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "486": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "487": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - }, - "488": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "489": { - "block": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 489, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "src": "4294:60:0" - }, - "490": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "491": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - "492": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "493": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "494": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - }, - "495": { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "496": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "497": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "498": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - }, - "499": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "500": { - "block": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 500, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "src": "4355:70:0" - }, - "501": { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 482, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "src": "4232:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 489, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "src": "4294:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 500, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "src": "4355:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4211:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "TryStatement", - "src": "4207:218:0" - }, - "502": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "Block", - "src": "4197:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 482, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "src": "4232:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 489, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "src": "4294:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 500, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "src": "4355:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4211:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "TryStatement", - "src": "4207:218:0" - } - ] - }, - "503": { - "body": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "Block", - "src": "4197:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 482, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "src": "4232:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 489, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "src": "4294:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 500, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "src": "4355:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4211:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "TryStatement", - "src": "4207:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "aec5299f", - "id": 503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nameLocation": "4126:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 465, - "mutability": "mutable", - "name": "token", - "nameLocation": "4145:5:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4138:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 464, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "referencedDeclaration": 99, - "src": "4138:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 467, - "mutability": "mutable", - "name": "who", - "nameLocation": "4160:3:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4152:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4137:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 470, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4188:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4188:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4187:9:0" - }, - "scope": 668, - "src": "4117:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - "504": { - "certora_contract_name": "Diamond", - "id": 504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4456:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "505": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "target", - "nameLocation": "4464:6:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4456:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4456:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - "506": { - "certora_contract_name": "Diamond", - "id": 506, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "target", - "nameLocation": "4464:6:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4456:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4456:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4455:16:0" - }, - "507": { - "certora_contract_name": "Diamond", - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4493:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "508": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 508, - "mutability": "mutable", - "name": "size", - "nameLocation": "4501:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4493:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4493:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "509": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4507:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "510": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "blob", - "nameLocation": "4520:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4507:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4507:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - "511": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 508, - "mutability": "mutable", - "name": "size", - "nameLocation": "4501:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4493:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4493:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "blob", - "nameLocation": "4520:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4507:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4507:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4492:33:0" - }, - "512": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "513": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "514": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "515": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "516": { - "certora_contract_name": "Diamond", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "517": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "4536:25:0" - }, - "518": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "519": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - }, - "520": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "521": { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - }, - "522": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "523": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "524": { - "certora_contract_name": "Diamond", - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "4571:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "525": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "4571:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "4571:25:0" - }, - "526": { - "certora_contract_name": "Diamond", - "id": 526, - "nodeType": "Block", - "src": "4526:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "4536:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "4571:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "4571:25:0" - } - ] - }, - "527": { - "body": { - "certora_contract_name": "Diamond", - "id": 526, - "nodeType": "Block", - "src": "4526:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "4536:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "4571:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "4571:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "43b0ea25", - "id": 527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "codeProbe", - "nameLocation": "4446:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 506, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "target", - "nameLocation": "4464:6:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4456:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4456:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4455:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 508, - "mutability": "mutable", - "name": "size", - "nameLocation": "4501:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4493:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4493:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "blob", - "nameLocation": "4520:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4507:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4507:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4492:33:0" - }, - "scope": 668, - "src": "4437:166:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - "528": { - "certora_contract_name": "Diamond", - "id": 528, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4674:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "529": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "data", - "nameLocation": "4689:4:0", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4674:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 528, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4674:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - "530": { - "certora_contract_name": "Diamond", - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "data", - "nameLocation": "4689:4:0", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4674:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 528, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4674:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4673:21:0" - }, - "531": { - "certora_contract_name": "Diamond", - "id": 531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "532": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 532, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4718:14:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - "533": { - "certora_contract_name": "Diamond", - "id": 533, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 532, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4718:14:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4717:16:0" - }, - "534": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "535": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "536": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "537": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "certora_contract_name": "Diamond", - "endExpression": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4751:9:0", - "startExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - }, - "538": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "certora_contract_name": "Diamond", - "endExpression": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4751:9:0", - "startExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - }, - "functionReturnParameters": 533, - "id": 538, - "nodeType": "Return", - "src": "4744:16:0" - }, - "539": { - "certora_contract_name": "Diamond", - "id": 539, - "nodeType": "Block", - "src": "4734:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "certora_contract_name": "Diamond", - "endExpression": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4751:9:0", - "startExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - }, - "functionReturnParameters": 533, - "id": 538, - "nodeType": "Return", - "src": "4744:16:0" - } - ] - }, - "540": { - "body": { - "certora_contract_name": "Diamond", - "id": 539, - "nodeType": "Block", - "src": "4734:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "certora_contract_name": "Diamond", - "endExpression": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4751:9:0", - "startExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - }, - "functionReturnParameters": 533, - "id": 538, - "nodeType": "Return", - "src": "4744:16:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "655f4111", - "id": 540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "selectorOf", - "nameLocation": "4663:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "data", - "nameLocation": "4689:4:0", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4674:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 528, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4674:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4673:21:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 533, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 532, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4718:14:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4717:16:0" - }, - "scope": 668, - "src": "4654:113:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - "541": { - "certora_contract_name": "Diamond", - "id": 541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4794:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "542": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 542, - "mutability": "mutable", - "name": "n", - "nameLocation": "4802:1:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4794:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4794:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "543": { - "certora_contract_name": "Diamond", - "id": 543, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 542, - "mutability": "mutable", - "name": "n", - "nameLocation": "4802:1:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4794:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4794:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4793:11:0" - }, - "544": { - "certora_contract_name": "Diamond", - "id": 544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "545": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 545, - "mutability": "mutable", - "name": "acc", - "nameLocation": "4834:3:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4826:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "546": { - "certora_contract_name": "Diamond", - "id": 546, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 545, - "mutability": "mutable", - "name": "acc", - "nameLocation": "4834:3:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4826:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4825:13:0" - }, - "547": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "548": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "549": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "550": { - "assignments": [ - 548 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4854:13:0" - }, - "551": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "552": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "553": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4869:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "554": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "555": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "556": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4876:3:0" - }, - "557": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "558": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "559": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "560": { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - }, - "561": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - }, - "562": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "563": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "564": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "565": { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - }, - "566": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - }, - "567": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "568": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - "569": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "570": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "571": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "572": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - }, - "573": { - "certora_contract_name": "Diamond", - "id": 573, - "nodeType": "Block", - "src": "4881:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - } - ] - }, - "574": { - "body": { - "certora_contract_name": "Diamond", - "id": 573, - "nodeType": "Block", - "src": "4881:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4869:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 574, - "initializationExpression": { - "assignments": [ - 548 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4854:13:0" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4876:3:0" - }, - "nodeType": "ForStatement", - "src": "4849:186:0" - }, - "575": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "576": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "j", - "nameLocation": "5052:1:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5044:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "577": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5056:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "578": { - "assignments": [ - 576 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "j", - "nameLocation": "5052:1:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5044:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 578, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5056:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5044:13:0" - }, - "579": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "580": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "581": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5074:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "582": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "583": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "584": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - }, - "585": { - "certora_contract_name": "Diamond", - "id": 585, - "nodeType": "Block", - "src": "5081:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - } - ] - }, - "586": { - "body": { - "certora_contract_name": "Diamond", - "id": 585, - "nodeType": "Block", - "src": "5081:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5074:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 586, - "nodeType": "WhileStatement", - "src": "5067:42:0" - }, - "587": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "588": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "589": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "590": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "591": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "592": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - }, - "593": { - "certora_contract_name": "Diamond", - "id": 593, - "nodeType": "Block", - "src": "5121:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - } - ] - }, - "594": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "595": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "596": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "597": { - "body": { - "certora_contract_name": "Diamond", - "id": 593, - "nodeType": "Block", - "src": "5121:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 597, - "nodeType": "DoWhileStatement", - "src": "5118:58:0" - }, - "600": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "601": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "602": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "scratch", - "nameLocation": "5202:7:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5185:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - "603": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "604": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "605": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "606": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "607": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "608": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "609": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5212:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "610": { - "assignments": [ - 602 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "scratch", - "nameLocation": "5202:7:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5185:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 610, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5212:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5185:47:0" - }, - "611": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "612": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "613": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "614": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "615": { - "certora_contract_name": "Diamond", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "616": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "5242:16:0" - }, - "617": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "618": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "619": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "620": { - "certora_contract_name": "Diamond", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5268:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "621": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5268:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 621, - "nodeType": "ExpressionStatement", - "src": "5268:17:0" - }, - "622": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "623": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "624": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "625": { - "certora_contract_name": "Diamond", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5295:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "626": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5295:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "5295:20:0" - }, - "627": { - "certora_contract_name": "Diamond", - "id": 627, - "nodeType": "Block", - "src": "4839:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 573, - "nodeType": "Block", - "src": "4881:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4869:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 574, - "initializationExpression": { - "assignments": [ - 548 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4854:13:0" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4876:3:0" - }, - "nodeType": "ForStatement", - "src": "4849:186:0" - }, - { - "assignments": [ - 576 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "j", - "nameLocation": "5052:1:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5044:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 578, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5056:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5044:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 585, - "nodeType": "Block", - "src": "5081:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5074:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 586, - "nodeType": "WhileStatement", - "src": "5067:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 593, - "nodeType": "Block", - "src": "5121:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 597, - "nodeType": "DoWhileStatement", - "src": "5118:58:0" - }, - { - "assignments": [ - 602 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "scratch", - "nameLocation": "5202:7:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5185:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 610, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5212:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5185:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "5242:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5268:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 621, - "nodeType": "ExpressionStatement", - "src": "5268:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5295:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "5295:20:0" - } - ] - }, - "628": { - "body": { - "certora_contract_name": "Diamond", - "id": 627, - "nodeType": "Block", - "src": "4839:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 573, - "nodeType": "Block", - "src": "4881:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4869:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 574, - "initializationExpression": { - "assignments": [ - 548 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4854:13:0" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4876:3:0" - }, - "nodeType": "ForStatement", - "src": "4849:186:0" - }, - { - "assignments": [ - 576 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "j", - "nameLocation": "5052:1:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5044:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 578, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5056:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5044:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 585, - "nodeType": "Block", - "src": "5081:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5074:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 586, - "nodeType": "WhileStatement", - "src": "5067:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 593, - "nodeType": "Block", - "src": "5121:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 597, - "nodeType": "DoWhileStatement", - "src": "5118:58:0" - }, - { - "assignments": [ - 602 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "scratch", - "nameLocation": "5202:7:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5185:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 610, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5212:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5185:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "5242:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5268:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 621, - "nodeType": "ExpressionStatement", - "src": "5268:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5295:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "5295:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "90dc1163", - "id": 628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nameLocation": "4782:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 543, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 542, - "mutability": "mutable", - "name": "n", - "nameLocation": "4802:1:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4794:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4794:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4793:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 546, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 545, - "mutability": "mutable", - "name": "acc", - "nameLocation": "4834:3:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4826:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4825:13:0" - }, - "scope": 668, - "src": "4773:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "629": { - "certora_contract_name": "Diamond", - "id": 629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "630": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 630, - "mutability": "mutable", - "name": "to", - "nameLocation": "5365:2:0", - "nodeType": "VariableDeclaration", - "scope": 650, - "src": "5349:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - "631": { - "certora_contract_name": "Diamond", - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 630, - "mutability": "mutable", - "name": "to", - "nameLocation": "5365:2:0", - "nodeType": "VariableDeclaration", - "scope": 650, - "src": "5349:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "5348:20:0" - }, - "632": { - "certora_contract_name": "Diamond", - "id": 632, - "name": "onlyOwner", - "nameLocations": [ - "5378:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "5378:9:0" - }, - "633": { - "certora_contract_name": "Diamond", - "id": 633, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 632, - "name": "onlyOwner", - "nameLocations": [ - "5378:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "5378:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "5378:9:0" - }, - "634": { - "certora_contract_name": "Diamond", - "id": 634, - "nodeType": "ParameterList", - "parameters": [], - "src": "5388:0:0" - }, - "635": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "636": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "ok", - "nameLocation": "5404:2:0", - "nodeType": "VariableDeclaration", - "scope": 649, - "src": "5399:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - "637": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "638": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "639": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "640": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "641": { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "642": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5412:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "643": { - "assignments": [ - 636, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "ok", - "nameLocation": "5404:2:0", - "nodeType": "VariableDeclaration", - "scope": 649, - "src": "5399:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 643, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5412:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5398:35:0" - }, - "644": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "645": { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "646": { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - }, - "647": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5443:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "648": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5443:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 648, - "nodeType": "ExpressionStatement", - "src": "5443:26:0" - }, - "649": { - "certora_contract_name": "Diamond", - "id": 649, - "nodeType": "Block", - "src": "5388:88:0", - "statements": [ - { - "assignments": [ - 636, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "ok", - "nameLocation": "5404:2:0", - "nodeType": "VariableDeclaration", - "scope": 649, - "src": "5399:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 643, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5412:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5398:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5443:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 648, - "nodeType": "ExpressionStatement", - "src": "5443:26:0" - } - ] - }, - "650": { - "body": { - "certora_contract_name": "Diamond", - "id": 649, - "nodeType": "Block", - "src": "5388:88:0", - "statements": [ - { - "assignments": [ - 636, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "ok", - "nameLocation": "5404:2:0", - "nodeType": "VariableDeclaration", - "scope": 649, - "src": "5399:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 643, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5412:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5398:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5443:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 648, - "nodeType": "ExpressionStatement", - "src": "5443:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "d5b488b2", - "id": 650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 633, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 632, - "name": "onlyOwner", - "nameLocations": [ - "5378:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "5378:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "5378:9:0" - } - ], - "name": "sendNothing", - "nameLocation": "5337:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 630, - "mutability": "mutable", - "name": "to", - "nameLocation": "5365:2:0", - "nodeType": "VariableDeclaration", - "scope": 650, - "src": "5349:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "5348:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 634, - "nodeType": "ParameterList", - "parameters": [], - "src": "5388:0:0" - }, - "scope": 668, - "src": "5328:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - "651": { - "certora_contract_name": "Diamond", - "id": 651, - "nodeType": "ParameterList", - "parameters": [], - "src": "5489:2:0" - }, - "652": { - "certora_contract_name": "Diamond", - "id": 652, - "nodeType": "ParameterList", - "parameters": [], - "src": "5509:0:0" - }, - "653": { - "certora_contract_name": "Diamond", - "id": 653, - "nodeType": "Block", - "src": "5509:2:0", - "statements": [] - }, - "654": { - "body": { - "certora_contract_name": "Diamond", - "id": 653, - "nodeType": "Block", - "src": "5509:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 654, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 651, - "nodeType": "ParameterList", - "parameters": [], - "src": "5489:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 652, - "nodeType": "ParameterList", - "parameters": [], - "src": "5509:0:0" - }, - "scope": 668, - "src": "5482:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - "655": { - "certora_contract_name": "Diamond", - "id": 655, - "nodeType": "ParameterList", - "parameters": [], - "src": "5525:2:0" - }, - "656": { - "certora_contract_name": "Diamond", - "id": 656, - "nodeType": "ParameterList", - "parameters": [], - "src": "5545:0:0" - }, - "657": { - "certora_contract_name": "Diamond", - "id": 657, - "nodeType": "Block", - "src": "5545:2:0", - "statements": [] - }, - "658": { - "body": { - "certora_contract_name": "Diamond", - "id": 657, - "nodeType": "Block", - "src": "5545:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 658, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 655, - "nodeType": "ParameterList", - "parameters": [], - "src": "5525:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 656, - "nodeType": "ParameterList", - "parameters": [], - "src": "5545:0:0" - }, - "scope": 668, - "src": "5517:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - "659": { - "certora_contract_name": "Diamond", - "id": 659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "660": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "n", - "nameLocation": "5579:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5571:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "661": { - "certora_contract_name": "Diamond", - "id": 661, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "n", - "nameLocation": "5579:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5571:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5570:11:0" - }, - "662": { - "certora_contract_name": "Diamond", - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5603:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "663": { - "certora_contract_name": "Diamond", - "constant": false, - "id": 663, - "mutability": "mutable", - "name": "r", - "nameLocation": "5611:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5603:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5603:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - "664": { - "certora_contract_name": "Diamond", - "id": 664, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 663, - "mutability": "mutable", - "name": "r", - "nameLocation": "5611:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5603:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5603:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5602:11:0" - }, - "665": { - "AST": { - "certora_contract_name": "Diamond", - "nativeSrc": "5633:884:0", - "nodeType": "YulBlock", - "src": "5633:884:0", - "statements": [ - { - "body": { - "nativeSrc": "5671:121:0", - "nodeType": "YulBlock", - "src": "5671:121:0", - "statements": [ - { - "body": { - "nativeSrc": "5702:45:0", - "nodeType": "YulBlock", - "src": "5702:45:0", - "statements": [ - { - "nativeSrc": "5724:5:0", - "nodeType": "YulLeave", - "src": "5724:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5699:1:0", - "nodeType": "YulIdentifier", - "src": "5699:1:0" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "5692:6:0", - "nodeType": "YulIdentifier", - "src": "5692:6:0" - }, - "nativeSrc": "5692:9:0", - "nodeType": "YulFunctionCall", - "src": "5692:9:0" - }, - "nativeSrc": "5689:58:0", - "nodeType": "YulIf", - "src": "5689:58:0" - }, - { - "nativeSrc": "5764:14:0", - "nodeType": "YulAssignment", - "src": "5764:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5773:1:0", - "nodeType": "YulIdentifier", - "src": "5773:1:0" - }, - { - "kind": "number", - "nativeSrc": "5776:1:0", - "nodeType": "YulLiteral", - "src": "5776:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "5769:3:0", - "nodeType": "YulIdentifier", - "src": "5769:3:0" - }, - "nativeSrc": "5769:9:0", - "nodeType": "YulFunctionCall", - "src": "5769:9:0" - }, - "variableNames": [ - { - "name": "b", - "nativeSrc": "5764:1:0", - "nodeType": "YulIdentifier", - "src": "5764:1:0" - } - ] - } - ] - }, - "name": "double", - "nativeSrc": "5647:145:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nativeSrc": "5663:1:0", - "nodeType": "YulTypedName", - "src": "5663:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nativeSrc": "5669:1:0", - "nodeType": "YulTypedName", - "src": "5669:1:0", - "type": "" - } - ], - "src": "5647:145:0" - }, - { - "nativeSrc": "5805:12:0", - "nodeType": "YulVariableDeclaration", - "src": "5805:12:0", - "value": { - "kind": "number", - "nativeSrc": "5816:1:0", - "nodeType": "YulLiteral", - "src": "5816:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nativeSrc": "5809:3:0", - "nodeType": "YulTypedName", - "src": "5809:3:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5933:210:0", - "nodeType": "YulBlock", - "src": "5933:210:0", - "statements": [ - { - "body": { - "nativeSrc": "5963:48:0", - "nodeType": "YulBlock", - "src": "5963:48:0", - "statements": [ - { - "nativeSrc": "5985:8:0", - "nodeType": "YulContinue", - "src": "5985:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5957:1:0", - "nodeType": "YulIdentifier", - "src": "5957:1:0" - }, - { - "kind": "number", - "nativeSrc": "5960:1:0", - "nodeType": "YulLiteral", - "src": "5960:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "5954:2:0", - "nodeType": "YulIdentifier", - "src": "5954:2:0" - }, - "nativeSrc": "5954:8:0", - "nodeType": "YulFunctionCall", - "src": "5954:8:0" - }, - "nativeSrc": "5951:60:0", - "nodeType": "YulIf", - "src": "5951:60:0" - }, - { - "body": { - "nativeSrc": "6041:45:0", - "nodeType": "YulBlock", - "src": "6041:45:0", - "statements": [ - { - "nativeSrc": "6063:5:0", - "nodeType": "YulBreak", - "src": "6063:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "6034:1:0", - "nodeType": "YulIdentifier", - "src": "6034:1:0" - }, - { - "kind": "number", - "nativeSrc": "6037:2:0", - "nodeType": "YulLiteral", - "src": "6037:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6031:2:0", - "nodeType": "YulIdentifier", - "src": "6031:2:0" - }, - "nativeSrc": "6031:9:0", - "nodeType": "YulFunctionCall", - "src": "6031:9:0" - }, - "nativeSrc": "6028:58:0", - "nodeType": "YulIf", - "src": "6028:58:0" - }, - { - "nativeSrc": "6103:26:0", - "nodeType": "YulAssignment", - "src": "6103:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6114:3:0", - "nodeType": "YulIdentifier", - "src": "6114:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nativeSrc": "6126:1:0", - "nodeType": "YulIdentifier", - "src": "6126:1:0" - } - ], - "functionName": { - "name": "double", - "nativeSrc": "6119:6:0", - "nodeType": "YulIdentifier", - "src": "6119:6:0" - }, - "nativeSrc": "6119:9:0", - "nodeType": "YulFunctionCall", - "src": "6119:9:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6110:3:0", - "nodeType": "YulIdentifier", - "src": "6110:3:0" - }, - "nativeSrc": "6110:19:0", - "nodeType": "YulFunctionCall", - "src": "6110:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nativeSrc": "6103:3:0", - "nodeType": "YulIdentifier", - "src": "6103:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5880:1:0", - "nodeType": "YulIdentifier", - "src": "5880:1:0" - }, - { - "name": "n", - "nativeSrc": "5883:1:0", - "nodeType": "YulIdentifier", - "src": "5883:1:0" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "5877:2:0", - "nodeType": "YulIdentifier", - "src": "5877:2:0" - }, - "nativeSrc": "5877:8:0", - "nodeType": "YulFunctionCall", - "src": "5877:8:0" - }, - "nativeSrc": "5830:313:0", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "5886:46:0", - "nodeType": "YulBlock", - "src": "5886:46:0", - "statements": [ - { - "nativeSrc": "5904:14:0", - "nodeType": "YulAssignment", - "src": "5904:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5913:1:0", - "nodeType": "YulIdentifier", - "src": "5913:1:0" - }, - { - "kind": "number", - "nativeSrc": "5916:1:0", - "nodeType": "YulLiteral", - "src": "5916:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5909:3:0", - "nodeType": "YulIdentifier", - "src": "5909:3:0" - }, - "nativeSrc": "5909:9:0", - "nodeType": "YulFunctionCall", - "src": "5909:9:0" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "5904:1:0", - "nodeType": "YulIdentifier", - "src": "5904:1:0" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "5834:42:0", - "nodeType": "YulBlock", - "src": "5834:42:0", - "statements": [ - { - "nativeSrc": "5852:10:0", - "nodeType": "YulVariableDeclaration", - "src": "5852:10:0", - "value": { - "kind": "number", - "nativeSrc": "5861:1:0", - "nodeType": "YulLiteral", - "src": "5861:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "5856:1:0", - "nodeType": "YulTypedName", - "src": "5856:1:0", - "type": "" - } - ] - } - ] - }, - "src": "5830:313:0" - }, - { - "cases": [ - { - "body": { - "nativeSrc": "6194:40:0", - "nodeType": "YulBlock", - "src": "6194:40:0", - "statements": [ - { - "nativeSrc": "6212:8:0", - "nodeType": "YulAssignment", - "src": "6212:8:0", - "value": { - "name": "acc", - "nativeSrc": "6217:3:0", - "nodeType": "YulIdentifier", - "src": "6217:3:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6212:1:0", - "nodeType": "YulIdentifier", - "src": "6212:1:0" - } - ] - } - ] - }, - "nativeSrc": "6187:47:0", - "nodeType": "YulCase", - "src": "6187:47:0", - "value": { - "kind": "number", - "nativeSrc": "6192:1:0", - "nodeType": "YulLiteral", - "src": "6192:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nativeSrc": "6254:48:0", - "nodeType": "YulBlock", - "src": "6254:48:0", - "statements": [ - { - "nativeSrc": "6272:16:0", - "nodeType": "YulAssignment", - "src": "6272:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6281:3:0", - "nodeType": "YulIdentifier", - "src": "6281:3:0" - }, - { - "kind": "number", - "nativeSrc": "6286:1:0", - "nodeType": "YulLiteral", - "src": "6286:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6277:3:0", - "nodeType": "YulIdentifier", - "src": "6277:3:0" - }, - "nativeSrc": "6277:11:0", - "nodeType": "YulFunctionCall", - "src": "6277:11:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6272:1:0", - "nodeType": "YulIdentifier", - "src": "6272:1:0" - } - ] - } - ] - }, - "nativeSrc": "6247:55:0", - "nodeType": "YulCase", - "src": "6247:55:0", - "value": { - "kind": "number", - "nativeSrc": "6252:1:0", - "nodeType": "YulLiteral", - "src": "6252:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "6323:38:0", - "nodeType": "YulBlock", - "src": "6323:38:0", - "statements": [ - { - "nativeSrc": "6341:6:0", - "nodeType": "YulAssignment", - "src": "6341:6:0", - "value": { - "kind": "number", - "nativeSrc": "6346:1:0", - "nodeType": "YulLiteral", - "src": "6346:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6341:1:0", - "nodeType": "YulIdentifier", - "src": "6341:1:0" - } - ] - } - ] - }, - "nativeSrc": "6315:46:0", - "nodeType": "YulCase", - "src": "6315:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6167:3:0", - "nodeType": "YulIdentifier", - "src": "6167:3:0" - }, - { - "kind": "number", - "nativeSrc": "6172:1:0", - "nodeType": "YulLiteral", - "src": "6172:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6163:3:0", - "nodeType": "YulIdentifier", - "src": "6163:3:0" - }, - "nativeSrc": "6163:11:0", - "nodeType": "YulFunctionCall", - "src": "6163:11:0" - }, - "nativeSrc": "6156:205:0", - "nodeType": "YulSwitch", - "src": "6156:205:0" - }, - { - "nativeSrc": "6374:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6374:16:0", - "value": { - "hexValue": "79756c", - "kind": "string", - "nativeSrc": "6385:5:0", - "nodeType": "YulLiteral", - "src": "6385:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nativeSrc": "6378:3:0", - "nodeType": "YulTypedName", - "src": "6378:3:0", - "type": "" - } - ] - }, - { - "nativeSrc": "6403:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6403:16:0", - "value": { - "kind": "bool", - "nativeSrc": "6415:4:0", - "nodeType": "YulLiteral", - "src": "6415:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nativeSrc": "6407:4:0", - "nodeType": "YulTypedName", - "src": "6407:4:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "6458:49:0", - "nodeType": "YulBlock", - "src": "6458:49:0", - "statements": [ - { - "nativeSrc": "6476:17:0", - "nodeType": "YulAssignment", - "src": "6476:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6486:1:0", - "nodeType": "YulLiteral", - "src": "6486:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nativeSrc": "6489:3:0", - "nodeType": "YulIdentifier", - "src": "6489:3:0" - } - ], - "functionName": { - "name": "byte", - "nativeSrc": "6481:4:0", - "nodeType": "YulIdentifier", - "src": "6481:4:0" - }, - "nativeSrc": "6481:12:0", - "nodeType": "YulFunctionCall", - "src": "6481:12:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6476:1:0", - "nodeType": "YulIdentifier", - "src": "6476:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nativeSrc": "6439:4:0", - "nodeType": "YulIdentifier", - "src": "6439:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nativeSrc": "6448:1:0", - "nodeType": "YulIdentifier", - "src": "6448:1:0" - }, - { - "kind": "number", - "nativeSrc": "6451:4:0", - "nodeType": "YulLiteral", - "src": "6451:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6445:2:0", - "nodeType": "YulIdentifier", - "src": "6445:2:0" - }, - "nativeSrc": "6445:11:0", - "nodeType": "YulFunctionCall", - "src": "6445:11:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6435:3:0", - "nodeType": "YulIdentifier", - "src": "6435:3:0" - }, - "nativeSrc": "6435:22:0", - "nodeType": "YulFunctionCall", - "src": "6435:22:0" - }, - "nativeSrc": "6432:75:0", - "nodeType": "YulIf", - "src": "6432:75:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "prague", - "externalReferences": [ - { - "declaration": 660, - "isOffset": false, - "isSlot": false, - "src": "5883:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6212:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6272:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6341:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6448:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6476:1:0", - "valueSize": 1 - } - ], - "id": 665, - "nodeType": "InlineAssembly", - "src": "5624:893:0" - }, - "666": { - "certora_contract_name": "Diamond", - "id": 666, - "nodeType": "Block", - "src": "5614:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nativeSrc": "5633:884:0", - "nodeType": "YulBlock", - "src": "5633:884:0", - "statements": [ - { - "body": { - "nativeSrc": "5671:121:0", - "nodeType": "YulBlock", - "src": "5671:121:0", - "statements": [ - { - "body": { - "nativeSrc": "5702:45:0", - "nodeType": "YulBlock", - "src": "5702:45:0", - "statements": [ - { - "nativeSrc": "5724:5:0", - "nodeType": "YulLeave", - "src": "5724:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5699:1:0", - "nodeType": "YulIdentifier", - "src": "5699:1:0" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "5692:6:0", - "nodeType": "YulIdentifier", - "src": "5692:6:0" - }, - "nativeSrc": "5692:9:0", - "nodeType": "YulFunctionCall", - "src": "5692:9:0" - }, - "nativeSrc": "5689:58:0", - "nodeType": "YulIf", - "src": "5689:58:0" - }, - { - "nativeSrc": "5764:14:0", - "nodeType": "YulAssignment", - "src": "5764:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5773:1:0", - "nodeType": "YulIdentifier", - "src": "5773:1:0" - }, - { - "kind": "number", - "nativeSrc": "5776:1:0", - "nodeType": "YulLiteral", - "src": "5776:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "5769:3:0", - "nodeType": "YulIdentifier", - "src": "5769:3:0" - }, - "nativeSrc": "5769:9:0", - "nodeType": "YulFunctionCall", - "src": "5769:9:0" - }, - "variableNames": [ - { - "name": "b", - "nativeSrc": "5764:1:0", - "nodeType": "YulIdentifier", - "src": "5764:1:0" - } - ] - } - ] - }, - "name": "double", - "nativeSrc": "5647:145:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nativeSrc": "5663:1:0", - "nodeType": "YulTypedName", - "src": "5663:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nativeSrc": "5669:1:0", - "nodeType": "YulTypedName", - "src": "5669:1:0", - "type": "" - } - ], - "src": "5647:145:0" - }, - { - "nativeSrc": "5805:12:0", - "nodeType": "YulVariableDeclaration", - "src": "5805:12:0", - "value": { - "kind": "number", - "nativeSrc": "5816:1:0", - "nodeType": "YulLiteral", - "src": "5816:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nativeSrc": "5809:3:0", - "nodeType": "YulTypedName", - "src": "5809:3:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5933:210:0", - "nodeType": "YulBlock", - "src": "5933:210:0", - "statements": [ - { - "body": { - "nativeSrc": "5963:48:0", - "nodeType": "YulBlock", - "src": "5963:48:0", - "statements": [ - { - "nativeSrc": "5985:8:0", - "nodeType": "YulContinue", - "src": "5985:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5957:1:0", - "nodeType": "YulIdentifier", - "src": "5957:1:0" - }, - { - "kind": "number", - "nativeSrc": "5960:1:0", - "nodeType": "YulLiteral", - "src": "5960:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "5954:2:0", - "nodeType": "YulIdentifier", - "src": "5954:2:0" - }, - "nativeSrc": "5954:8:0", - "nodeType": "YulFunctionCall", - "src": "5954:8:0" - }, - "nativeSrc": "5951:60:0", - "nodeType": "YulIf", - "src": "5951:60:0" - }, - { - "body": { - "nativeSrc": "6041:45:0", - "nodeType": "YulBlock", - "src": "6041:45:0", - "statements": [ - { - "nativeSrc": "6063:5:0", - "nodeType": "YulBreak", - "src": "6063:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "6034:1:0", - "nodeType": "YulIdentifier", - "src": "6034:1:0" - }, - { - "kind": "number", - "nativeSrc": "6037:2:0", - "nodeType": "YulLiteral", - "src": "6037:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6031:2:0", - "nodeType": "YulIdentifier", - "src": "6031:2:0" - }, - "nativeSrc": "6031:9:0", - "nodeType": "YulFunctionCall", - "src": "6031:9:0" - }, - "nativeSrc": "6028:58:0", - "nodeType": "YulIf", - "src": "6028:58:0" - }, - { - "nativeSrc": "6103:26:0", - "nodeType": "YulAssignment", - "src": "6103:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6114:3:0", - "nodeType": "YulIdentifier", - "src": "6114:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nativeSrc": "6126:1:0", - "nodeType": "YulIdentifier", - "src": "6126:1:0" - } - ], - "functionName": { - "name": "double", - "nativeSrc": "6119:6:0", - "nodeType": "YulIdentifier", - "src": "6119:6:0" - }, - "nativeSrc": "6119:9:0", - "nodeType": "YulFunctionCall", - "src": "6119:9:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6110:3:0", - "nodeType": "YulIdentifier", - "src": "6110:3:0" - }, - "nativeSrc": "6110:19:0", - "nodeType": "YulFunctionCall", - "src": "6110:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nativeSrc": "6103:3:0", - "nodeType": "YulIdentifier", - "src": "6103:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5880:1:0", - "nodeType": "YulIdentifier", - "src": "5880:1:0" - }, - { - "name": "n", - "nativeSrc": "5883:1:0", - "nodeType": "YulIdentifier", - "src": "5883:1:0" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "5877:2:0", - "nodeType": "YulIdentifier", - "src": "5877:2:0" - }, - "nativeSrc": "5877:8:0", - "nodeType": "YulFunctionCall", - "src": "5877:8:0" - }, - "nativeSrc": "5830:313:0", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "5886:46:0", - "nodeType": "YulBlock", - "src": "5886:46:0", - "statements": [ - { - "nativeSrc": "5904:14:0", - "nodeType": "YulAssignment", - "src": "5904:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5913:1:0", - "nodeType": "YulIdentifier", - "src": "5913:1:0" - }, - { - "kind": "number", - "nativeSrc": "5916:1:0", - "nodeType": "YulLiteral", - "src": "5916:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5909:3:0", - "nodeType": "YulIdentifier", - "src": "5909:3:0" - }, - "nativeSrc": "5909:9:0", - "nodeType": "YulFunctionCall", - "src": "5909:9:0" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "5904:1:0", - "nodeType": "YulIdentifier", - "src": "5904:1:0" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "5834:42:0", - "nodeType": "YulBlock", - "src": "5834:42:0", - "statements": [ - { - "nativeSrc": "5852:10:0", - "nodeType": "YulVariableDeclaration", - "src": "5852:10:0", - "value": { - "kind": "number", - "nativeSrc": "5861:1:0", - "nodeType": "YulLiteral", - "src": "5861:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "5856:1:0", - "nodeType": "YulTypedName", - "src": "5856:1:0", - "type": "" - } - ] - } - ] - }, - "src": "5830:313:0" - }, - { - "cases": [ - { - "body": { - "nativeSrc": "6194:40:0", - "nodeType": "YulBlock", - "src": "6194:40:0", - "statements": [ - { - "nativeSrc": "6212:8:0", - "nodeType": "YulAssignment", - "src": "6212:8:0", - "value": { - "name": "acc", - "nativeSrc": "6217:3:0", - "nodeType": "YulIdentifier", - "src": "6217:3:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6212:1:0", - "nodeType": "YulIdentifier", - "src": "6212:1:0" - } - ] - } - ] - }, - "nativeSrc": "6187:47:0", - "nodeType": "YulCase", - "src": "6187:47:0", - "value": { - "kind": "number", - "nativeSrc": "6192:1:0", - "nodeType": "YulLiteral", - "src": "6192:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nativeSrc": "6254:48:0", - "nodeType": "YulBlock", - "src": "6254:48:0", - "statements": [ - { - "nativeSrc": "6272:16:0", - "nodeType": "YulAssignment", - "src": "6272:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6281:3:0", - "nodeType": "YulIdentifier", - "src": "6281:3:0" - }, - { - "kind": "number", - "nativeSrc": "6286:1:0", - "nodeType": "YulLiteral", - "src": "6286:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6277:3:0", - "nodeType": "YulIdentifier", - "src": "6277:3:0" - }, - "nativeSrc": "6277:11:0", - "nodeType": "YulFunctionCall", - "src": "6277:11:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6272:1:0", - "nodeType": "YulIdentifier", - "src": "6272:1:0" - } - ] - } - ] - }, - "nativeSrc": "6247:55:0", - "nodeType": "YulCase", - "src": "6247:55:0", - "value": { - "kind": "number", - "nativeSrc": "6252:1:0", - "nodeType": "YulLiteral", - "src": "6252:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "6323:38:0", - "nodeType": "YulBlock", - "src": "6323:38:0", - "statements": [ - { - "nativeSrc": "6341:6:0", - "nodeType": "YulAssignment", - "src": "6341:6:0", - "value": { - "kind": "number", - "nativeSrc": "6346:1:0", - "nodeType": "YulLiteral", - "src": "6346:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6341:1:0", - "nodeType": "YulIdentifier", - "src": "6341:1:0" - } - ] - } - ] - }, - "nativeSrc": "6315:46:0", - "nodeType": "YulCase", - "src": "6315:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6167:3:0", - "nodeType": "YulIdentifier", - "src": "6167:3:0" - }, - { - "kind": "number", - "nativeSrc": "6172:1:0", - "nodeType": "YulLiteral", - "src": "6172:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6163:3:0", - "nodeType": "YulIdentifier", - "src": "6163:3:0" - }, - "nativeSrc": "6163:11:0", - "nodeType": "YulFunctionCall", - "src": "6163:11:0" - }, - "nativeSrc": "6156:205:0", - "nodeType": "YulSwitch", - "src": "6156:205:0" - }, - { - "nativeSrc": "6374:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6374:16:0", - "value": { - "hexValue": "79756c", - "kind": "string", - "nativeSrc": "6385:5:0", - "nodeType": "YulLiteral", - "src": "6385:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nativeSrc": "6378:3:0", - "nodeType": "YulTypedName", - "src": "6378:3:0", - "type": "" - } - ] - }, - { - "nativeSrc": "6403:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6403:16:0", - "value": { - "kind": "bool", - "nativeSrc": "6415:4:0", - "nodeType": "YulLiteral", - "src": "6415:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nativeSrc": "6407:4:0", - "nodeType": "YulTypedName", - "src": "6407:4:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "6458:49:0", - "nodeType": "YulBlock", - "src": "6458:49:0", - "statements": [ - { - "nativeSrc": "6476:17:0", - "nodeType": "YulAssignment", - "src": "6476:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6486:1:0", - "nodeType": "YulLiteral", - "src": "6486:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nativeSrc": "6489:3:0", - "nodeType": "YulIdentifier", - "src": "6489:3:0" - } - ], - "functionName": { - "name": "byte", - "nativeSrc": "6481:4:0", - "nodeType": "YulIdentifier", - "src": "6481:4:0" - }, - "nativeSrc": "6481:12:0", - "nodeType": "YulFunctionCall", - "src": "6481:12:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6476:1:0", - "nodeType": "YulIdentifier", - "src": "6476:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nativeSrc": "6439:4:0", - "nodeType": "YulIdentifier", - "src": "6439:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nativeSrc": "6448:1:0", - "nodeType": "YulIdentifier", - "src": "6448:1:0" - }, - { - "kind": "number", - "nativeSrc": "6451:4:0", - "nodeType": "YulLiteral", - "src": "6451:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6445:2:0", - "nodeType": "YulIdentifier", - "src": "6445:2:0" - }, - "nativeSrc": "6445:11:0", - "nodeType": "YulFunctionCall", - "src": "6445:11:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6435:3:0", - "nodeType": "YulIdentifier", - "src": "6435:3:0" - }, - "nativeSrc": "6435:22:0", - "nodeType": "YulFunctionCall", - "src": "6435:22:0" - }, - "nativeSrc": "6432:75:0", - "nodeType": "YulIf", - "src": "6432:75:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "prague", - "externalReferences": [ - { - "declaration": 660, - "isOffset": false, - "isSlot": false, - "src": "5883:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6212:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6272:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6341:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6448:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6476:1:0", - "valueSize": 1 - } - ], - "id": 665, - "nodeType": "InlineAssembly", - "src": "5624:893:0" - } - ] - }, - "667": { - "body": { - "certora_contract_name": "Diamond", - "id": 666, - "nodeType": "Block", - "src": "5614:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nativeSrc": "5633:884:0", - "nodeType": "YulBlock", - "src": "5633:884:0", - "statements": [ - { - "body": { - "nativeSrc": "5671:121:0", - "nodeType": "YulBlock", - "src": "5671:121:0", - "statements": [ - { - "body": { - "nativeSrc": "5702:45:0", - "nodeType": "YulBlock", - "src": "5702:45:0", - "statements": [ - { - "nativeSrc": "5724:5:0", - "nodeType": "YulLeave", - "src": "5724:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5699:1:0", - "nodeType": "YulIdentifier", - "src": "5699:1:0" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "5692:6:0", - "nodeType": "YulIdentifier", - "src": "5692:6:0" - }, - "nativeSrc": "5692:9:0", - "nodeType": "YulFunctionCall", - "src": "5692:9:0" - }, - "nativeSrc": "5689:58:0", - "nodeType": "YulIf", - "src": "5689:58:0" - }, - { - "nativeSrc": "5764:14:0", - "nodeType": "YulAssignment", - "src": "5764:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5773:1:0", - "nodeType": "YulIdentifier", - "src": "5773:1:0" - }, - { - "kind": "number", - "nativeSrc": "5776:1:0", - "nodeType": "YulLiteral", - "src": "5776:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "5769:3:0", - "nodeType": "YulIdentifier", - "src": "5769:3:0" - }, - "nativeSrc": "5769:9:0", - "nodeType": "YulFunctionCall", - "src": "5769:9:0" - }, - "variableNames": [ - { - "name": "b", - "nativeSrc": "5764:1:0", - "nodeType": "YulIdentifier", - "src": "5764:1:0" - } - ] - } - ] - }, - "name": "double", - "nativeSrc": "5647:145:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nativeSrc": "5663:1:0", - "nodeType": "YulTypedName", - "src": "5663:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nativeSrc": "5669:1:0", - "nodeType": "YulTypedName", - "src": "5669:1:0", - "type": "" - } - ], - "src": "5647:145:0" - }, - { - "nativeSrc": "5805:12:0", - "nodeType": "YulVariableDeclaration", - "src": "5805:12:0", - "value": { - "kind": "number", - "nativeSrc": "5816:1:0", - "nodeType": "YulLiteral", - "src": "5816:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nativeSrc": "5809:3:0", - "nodeType": "YulTypedName", - "src": "5809:3:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5933:210:0", - "nodeType": "YulBlock", - "src": "5933:210:0", - "statements": [ - { - "body": { - "nativeSrc": "5963:48:0", - "nodeType": "YulBlock", - "src": "5963:48:0", - "statements": [ - { - "nativeSrc": "5985:8:0", - "nodeType": "YulContinue", - "src": "5985:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5957:1:0", - "nodeType": "YulIdentifier", - "src": "5957:1:0" - }, - { - "kind": "number", - "nativeSrc": "5960:1:0", - "nodeType": "YulLiteral", - "src": "5960:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "5954:2:0", - "nodeType": "YulIdentifier", - "src": "5954:2:0" - }, - "nativeSrc": "5954:8:0", - "nodeType": "YulFunctionCall", - "src": "5954:8:0" - }, - "nativeSrc": "5951:60:0", - "nodeType": "YulIf", - "src": "5951:60:0" - }, - { - "body": { - "nativeSrc": "6041:45:0", - "nodeType": "YulBlock", - "src": "6041:45:0", - "statements": [ - { - "nativeSrc": "6063:5:0", - "nodeType": "YulBreak", - "src": "6063:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "6034:1:0", - "nodeType": "YulIdentifier", - "src": "6034:1:0" - }, - { - "kind": "number", - "nativeSrc": "6037:2:0", - "nodeType": "YulLiteral", - "src": "6037:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6031:2:0", - "nodeType": "YulIdentifier", - "src": "6031:2:0" - }, - "nativeSrc": "6031:9:0", - "nodeType": "YulFunctionCall", - "src": "6031:9:0" - }, - "nativeSrc": "6028:58:0", - "nodeType": "YulIf", - "src": "6028:58:0" - }, - { - "nativeSrc": "6103:26:0", - "nodeType": "YulAssignment", - "src": "6103:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6114:3:0", - "nodeType": "YulIdentifier", - "src": "6114:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nativeSrc": "6126:1:0", - "nodeType": "YulIdentifier", - "src": "6126:1:0" - } - ], - "functionName": { - "name": "double", - "nativeSrc": "6119:6:0", - "nodeType": "YulIdentifier", - "src": "6119:6:0" - }, - "nativeSrc": "6119:9:0", - "nodeType": "YulFunctionCall", - "src": "6119:9:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6110:3:0", - "nodeType": "YulIdentifier", - "src": "6110:3:0" - }, - "nativeSrc": "6110:19:0", - "nodeType": "YulFunctionCall", - "src": "6110:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nativeSrc": "6103:3:0", - "nodeType": "YulIdentifier", - "src": "6103:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5880:1:0", - "nodeType": "YulIdentifier", - "src": "5880:1:0" - }, - { - "name": "n", - "nativeSrc": "5883:1:0", - "nodeType": "YulIdentifier", - "src": "5883:1:0" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "5877:2:0", - "nodeType": "YulIdentifier", - "src": "5877:2:0" - }, - "nativeSrc": "5877:8:0", - "nodeType": "YulFunctionCall", - "src": "5877:8:0" - }, - "nativeSrc": "5830:313:0", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "5886:46:0", - "nodeType": "YulBlock", - "src": "5886:46:0", - "statements": [ - { - "nativeSrc": "5904:14:0", - "nodeType": "YulAssignment", - "src": "5904:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5913:1:0", - "nodeType": "YulIdentifier", - "src": "5913:1:0" - }, - { - "kind": "number", - "nativeSrc": "5916:1:0", - "nodeType": "YulLiteral", - "src": "5916:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5909:3:0", - "nodeType": "YulIdentifier", - "src": "5909:3:0" - }, - "nativeSrc": "5909:9:0", - "nodeType": "YulFunctionCall", - "src": "5909:9:0" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "5904:1:0", - "nodeType": "YulIdentifier", - "src": "5904:1:0" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "5834:42:0", - "nodeType": "YulBlock", - "src": "5834:42:0", - "statements": [ - { - "nativeSrc": "5852:10:0", - "nodeType": "YulVariableDeclaration", - "src": "5852:10:0", - "value": { - "kind": "number", - "nativeSrc": "5861:1:0", - "nodeType": "YulLiteral", - "src": "5861:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "5856:1:0", - "nodeType": "YulTypedName", - "src": "5856:1:0", - "type": "" - } - ] - } - ] - }, - "src": "5830:313:0" - }, - { - "cases": [ - { - "body": { - "nativeSrc": "6194:40:0", - "nodeType": "YulBlock", - "src": "6194:40:0", - "statements": [ - { - "nativeSrc": "6212:8:0", - "nodeType": "YulAssignment", - "src": "6212:8:0", - "value": { - "name": "acc", - "nativeSrc": "6217:3:0", - "nodeType": "YulIdentifier", - "src": "6217:3:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6212:1:0", - "nodeType": "YulIdentifier", - "src": "6212:1:0" - } - ] - } - ] - }, - "nativeSrc": "6187:47:0", - "nodeType": "YulCase", - "src": "6187:47:0", - "value": { - "kind": "number", - "nativeSrc": "6192:1:0", - "nodeType": "YulLiteral", - "src": "6192:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nativeSrc": "6254:48:0", - "nodeType": "YulBlock", - "src": "6254:48:0", - "statements": [ - { - "nativeSrc": "6272:16:0", - "nodeType": "YulAssignment", - "src": "6272:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6281:3:0", - "nodeType": "YulIdentifier", - "src": "6281:3:0" - }, - { - "kind": "number", - "nativeSrc": "6286:1:0", - "nodeType": "YulLiteral", - "src": "6286:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6277:3:0", - "nodeType": "YulIdentifier", - "src": "6277:3:0" - }, - "nativeSrc": "6277:11:0", - "nodeType": "YulFunctionCall", - "src": "6277:11:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6272:1:0", - "nodeType": "YulIdentifier", - "src": "6272:1:0" - } - ] - } - ] - }, - "nativeSrc": "6247:55:0", - "nodeType": "YulCase", - "src": "6247:55:0", - "value": { - "kind": "number", - "nativeSrc": "6252:1:0", - "nodeType": "YulLiteral", - "src": "6252:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "6323:38:0", - "nodeType": "YulBlock", - "src": "6323:38:0", - "statements": [ - { - "nativeSrc": "6341:6:0", - "nodeType": "YulAssignment", - "src": "6341:6:0", - "value": { - "kind": "number", - "nativeSrc": "6346:1:0", - "nodeType": "YulLiteral", - "src": "6346:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6341:1:0", - "nodeType": "YulIdentifier", - "src": "6341:1:0" - } - ] - } - ] - }, - "nativeSrc": "6315:46:0", - "nodeType": "YulCase", - "src": "6315:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6167:3:0", - "nodeType": "YulIdentifier", - "src": "6167:3:0" - }, - { - "kind": "number", - "nativeSrc": "6172:1:0", - "nodeType": "YulLiteral", - "src": "6172:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6163:3:0", - "nodeType": "YulIdentifier", - "src": "6163:3:0" - }, - "nativeSrc": "6163:11:0", - "nodeType": "YulFunctionCall", - "src": "6163:11:0" - }, - "nativeSrc": "6156:205:0", - "nodeType": "YulSwitch", - "src": "6156:205:0" - }, - { - "nativeSrc": "6374:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6374:16:0", - "value": { - "hexValue": "79756c", - "kind": "string", - "nativeSrc": "6385:5:0", - "nodeType": "YulLiteral", - "src": "6385:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nativeSrc": "6378:3:0", - "nodeType": "YulTypedName", - "src": "6378:3:0", - "type": "" - } - ] - }, - { - "nativeSrc": "6403:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6403:16:0", - "value": { - "kind": "bool", - "nativeSrc": "6415:4:0", - "nodeType": "YulLiteral", - "src": "6415:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nativeSrc": "6407:4:0", - "nodeType": "YulTypedName", - "src": "6407:4:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "6458:49:0", - "nodeType": "YulBlock", - "src": "6458:49:0", - "statements": [ - { - "nativeSrc": "6476:17:0", - "nodeType": "YulAssignment", - "src": "6476:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6486:1:0", - "nodeType": "YulLiteral", - "src": "6486:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nativeSrc": "6489:3:0", - "nodeType": "YulIdentifier", - "src": "6489:3:0" - } - ], - "functionName": { - "name": "byte", - "nativeSrc": "6481:4:0", - "nodeType": "YulIdentifier", - "src": "6481:4:0" - }, - "nativeSrc": "6481:12:0", - "nodeType": "YulFunctionCall", - "src": "6481:12:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6476:1:0", - "nodeType": "YulIdentifier", - "src": "6476:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nativeSrc": "6439:4:0", - "nodeType": "YulIdentifier", - "src": "6439:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nativeSrc": "6448:1:0", - "nodeType": "YulIdentifier", - "src": "6448:1:0" - }, - { - "kind": "number", - "nativeSrc": "6451:4:0", - "nodeType": "YulLiteral", - "src": "6451:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6445:2:0", - "nodeType": "YulIdentifier", - "src": "6445:2:0" - }, - "nativeSrc": "6445:11:0", - "nodeType": "YulFunctionCall", - "src": "6445:11:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6435:3:0", - "nodeType": "YulIdentifier", - "src": "6435:3:0" - }, - "nativeSrc": "6435:22:0", - "nodeType": "YulFunctionCall", - "src": "6435:22:0" - }, - "nativeSrc": "6432:75:0", - "nodeType": "YulIf", - "src": "6432:75:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "prague", - "externalReferences": [ - { - "declaration": 660, - "isOffset": false, - "isSlot": false, - "src": "5883:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6212:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6272:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6341:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6448:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6476:1:0", - "valueSize": 1 - } - ], - "id": 665, - "nodeType": "InlineAssembly", - "src": "5624:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "692103d0", - "id": 667, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nameLocation": "5562:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 661, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "n", - "nameLocation": "5579:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5571:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5570:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 664, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 663, - "mutability": "mutable", - "name": "r", - "nameLocation": "5611:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5603:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5603:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5602:11:0" - }, - "scope": 668, - "src": "5553:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - "668": { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Left", - "nameLocations": [ - "2178:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2178:4:0" - }, - "certora_contract_name": "Diamond", - "id": 210, - "nodeType": "InheritanceSpecifier", - "src": "2178:4:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "Right", - "nameLocations": [ - "2184:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2184:5:0" - }, - "certora_contract_name": "Diamond", - "id": 212, - "nodeType": "InheritanceSpecifier", - "src": "2184:5:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 213, - "name": "IToken", - "nameLocations": [ - "2191:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "2191:6:0" - }, - "certora_contract_name": "Diamond", - "id": 214, - "nodeType": "InheritanceSpecifier", - "src": "2191:6:0" - } - ], - "canonicalName": "Diamond", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 668, - "internalFunctionIDs": { - "424": 1, - "certora_contract_name": "Diamond" - }, - "linearizedBaseContracts": [ - 668, - 99, - 208, - 196, - 184 - ], - "name": "Diamond", - "nameLocation": "2167:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "global": false, - "id": 217, - "libraryName": { - "certora_contract_name": "Diamond", - "id": 215, - "name": "MathLib", - "nameLocations": [ - "2210:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 128, - "src": "2210:7:0" - }, - "nodeType": "UsingForDirective", - "src": "2204:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 222, - "mutability": "mutable", - "name": "accounts", - "nameLocation": "2341:8:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2292:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 221, - "keyName": "owner", - "keyNameLocation": "2308:5:0", - "keyType": { - "certora_contract_name": "Diamond", - "id": 218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2300:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2292:41:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueName": "account", - "valueNameLocation": "2325:7:0", - "valueType": { - "certora_contract_name": "Diamond", - "id": 220, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "Account", - "nameLocations": [ - "2317:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "2317:7:0" - }, - "referencedDeclaration": 137, - "src": "2317:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "history", - "nameLocation": "2374:7:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2355:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 224, - "nodeType": "ArrayTypeName", - "src": "2355:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 228, - "mutability": "mutable", - "name": "phase", - "nameLocation": "2400:5:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2387:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 226, - "name": "Phase", - "nameLocations": [ - "2387:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "2387:5:0" - }, - "referencedDeclaration": 132, - "src": "2387:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "9363c812", - "id": 231, - "mutability": "mutable", - "name": "floorPrice", - "nameLocation": "2424:10:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2411:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 230, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "Price", - "nameLocations": [ - "2411:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "2411:5:0" - }, - "referencedDeclaration": 3, - "src": "2411:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 266, - "nodeType": "Block", - "src": "2486:163:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2496:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2496:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2562:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 252, - "nodeType": "ExpressionStatement", - "src": "2562:18:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "2590:52:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "id": 265, - "nodeType": "ExpressionStatement", - "src": "2590:52:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 267, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 236, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "firstUser", - "nameLocation": "2461:9:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2453:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2453:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 235, - "mutability": "mutable", - "name": "seed", - "nameLocation": "2480:4:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2472:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2452:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 237, - "nodeType": "ParameterList", - "parameters": [], - "src": "2486:0:0" - }, - "scope": 668, - "src": "2441:208:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 195, - 207 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 288, - "nodeType": "Block", - "src": "2718:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "src": "2728:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "2728:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2763:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "EmitStatement", - "src": "2758:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 274, - "id": 287, - "nodeType": "Return", - "src": "2792:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "5c36b186", - "id": 289, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "2664:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 269, - "name": "Left", - "nameLocations": [ - "2687:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2687:4:0" - }, - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "Right", - "nameLocations": [ - "2693:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2693:5:0" - } - ], - "src": "2678:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [], - "src": "2668:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 289, - "src": "2709:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2708:9:0" - }, - "scope": 668, - "src": "2655:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 98 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 302, - "nodeType": "Block", - "src": "2897:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2928:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "2914:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 296, - "id": 301, - "nodeType": "Return", - "src": "2907:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "70a08231", - "id": 303, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "2833:9:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 293, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2870:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "who", - "nameLocation": "2851:3:0", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2843:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2843:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2842:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 296, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2888:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2888:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2887:9:0" - }, - "scope": 668, - "src": "2824:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 363, - "nodeType": "Block", - "src": "3027:363:0", - "statements": [ - { - "assignments": [ - 316 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "from", - "nameLocation": "3053:4:0", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3037:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 321, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 320, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3060:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3037:43:0" - }, - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3094:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 333, - "nodeType": "IfStatement", - "src": "3090:91:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 332, - "nodeType": "Block", - "src": "3116:65:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "UncheckedBlock", - "src": "3190:56:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "3214:21:0" - } - ] - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3255:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "3255:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3331:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 360, - "nodeType": "EmitStatement", - "src": "3326:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3379:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 313, - "id": 362, - "nodeType": "Return", - "src": "3372:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "a9059cbb", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 309, - "name": "onlyOwner", - "nameLocations": [ - "3002:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "3002:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "3002:9:0" - } - ], - "name": "transfer", - "nameLocation": "2957:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 308, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 305, - "mutability": "mutable", - "name": "to", - "nameLocation": "2974:2:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2966:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 307, - "mutability": "mutable", - "name": "value", - "nameLocation": "2986:5:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2978:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2978:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2965:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 312, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3021:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3021:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3020:6:0" - }, - "scope": 668, - "src": "2948:442:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 389, - "nodeType": "Block", - "src": "3519:87:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 51, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3533:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 384, - "nodeType": "IfStatement", - "src": "3529:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 383, - "nodeType": "Block", - "src": "3541:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3594:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 388, - "nodeType": "Return", - "src": "3587:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "f5dff84f", - "id": 390, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "total", - "nameLocation": "3467:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 371, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "a", - "nameLocation": "3479:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3473:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "referencedDeclaration": 3, - "src": "3473:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "b", - "nameLocation": "3488:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3482:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "referencedDeclaration": 3, - "src": "3482:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3472:18:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 375, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 374, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3512:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "referencedDeclaration": 3, - "src": "3512:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3511:7:0" - }, - "scope": 668, - "src": "3458:148:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 411, - "nodeType": "Block", - "src": "3750:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 404, - "id": 410, - "nodeType": "Return", - "src": "3760:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nameLocation": "3621:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 401, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 398, - "mutability": "mutable", - "name": "f", - "nameLocation": "3691:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3641:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 397, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "src": "3641:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 400, - "mutability": "mutable", - "name": "x", - "nameLocation": "3710:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3702:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3702:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3631:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 404, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 403, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3741:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3740:9:0" - }, - "scope": 668, - "src": "3612:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 423, - "nodeType": "Block", - "src": "3844:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3861:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 418, - "id": 422, - "nodeType": "Return", - "src": "3854:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nameLocation": "3796:4:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 415, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "x", - "nameLocation": "3809:1:0", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3801:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3801:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3800:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 417, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3835:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3835:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3834:9:0" - }, - "scope": 668, - "src": "3787:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 461, - "nodeType": "Block", - "src": "4003:108:0", - "statements": [ - { - "assignments": [ - 436 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 436, - "mutability": "mutable", - "name": "m", - "nameLocation": "4021:1:0", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "4013:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4025:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4013:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "4048:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 453, - "nodeType": "ExpressionStatement", - "src": "4048:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4079:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 460, - "nodeType": "ExpressionStatement", - "src": "4079:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "bbda574c", - "id": 462, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nameLocation": "3888:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "a", - "nameLocation": "3916:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3908:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3908:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "b", - "nameLocation": "3927:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3919:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3907:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 431, - "mutability": "mutable", - "name": "lo", - "nameLocation": "3983:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3975:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 433, - "mutability": "mutable", - "name": "hi", - "nameLocation": "3995:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3987:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3987:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3974:24:0" - }, - "scope": 668, - "src": "3879:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "Block", - "src": "4197:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 482, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "src": "4232:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 489, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "src": "4294:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 500, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "src": "4355:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4211:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "TryStatement", - "src": "4207:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "aec5299f", - "id": 503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nameLocation": "4126:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 465, - "mutability": "mutable", - "name": "token", - "nameLocation": "4145:5:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4138:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 464, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "referencedDeclaration": 99, - "src": "4138:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 467, - "mutability": "mutable", - "name": "who", - "nameLocation": "4160:3:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4152:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4137:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 470, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4188:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4188:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4187:9:0" - }, - "scope": 668, - "src": "4117:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 526, - "nodeType": "Block", - "src": "4526:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "4536:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "4571:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "4571:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "43b0ea25", - "id": 527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "codeProbe", - "nameLocation": "4446:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 506, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "target", - "nameLocation": "4464:6:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4456:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4456:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4455:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 508, - "mutability": "mutable", - "name": "size", - "nameLocation": "4501:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4493:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4493:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "blob", - "nameLocation": "4520:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4507:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4507:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4492:33:0" - }, - "scope": 668, - "src": "4437:166:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 539, - "nodeType": "Block", - "src": "4734:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "certora_contract_name": "Diamond", - "endExpression": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4751:9:0", - "startExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - }, - "functionReturnParameters": 533, - "id": 538, - "nodeType": "Return", - "src": "4744:16:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "655f4111", - "id": 540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "selectorOf", - "nameLocation": "4663:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "data", - "nameLocation": "4689:4:0", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4674:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 528, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4674:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4673:21:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 533, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 532, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4718:14:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4717:16:0" - }, - "scope": 668, - "src": "4654:113:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 627, - "nodeType": "Block", - "src": "4839:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 573, - "nodeType": "Block", - "src": "4881:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4869:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 574, - "initializationExpression": { - "assignments": [ - 548 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4854:13:0" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4876:3:0" - }, - "nodeType": "ForStatement", - "src": "4849:186:0" - }, - { - "assignments": [ - 576 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "j", - "nameLocation": "5052:1:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5044:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 578, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5056:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5044:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 585, - "nodeType": "Block", - "src": "5081:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5074:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 586, - "nodeType": "WhileStatement", - "src": "5067:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 593, - "nodeType": "Block", - "src": "5121:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 597, - "nodeType": "DoWhileStatement", - "src": "5118:58:0" - }, - { - "assignments": [ - 602 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "scratch", - "nameLocation": "5202:7:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5185:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 610, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5212:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5185:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "5242:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5268:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 621, - "nodeType": "ExpressionStatement", - "src": "5268:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5295:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "5295:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "90dc1163", - "id": 628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nameLocation": "4782:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 543, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 542, - "mutability": "mutable", - "name": "n", - "nameLocation": "4802:1:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4794:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4794:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4793:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 546, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 545, - "mutability": "mutable", - "name": "acc", - "nameLocation": "4834:3:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4826:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4825:13:0" - }, - "scope": 668, - "src": "4773:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 649, - "nodeType": "Block", - "src": "5388:88:0", - "statements": [ - { - "assignments": [ - 636, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "ok", - "nameLocation": "5404:2:0", - "nodeType": "VariableDeclaration", - "scope": 649, - "src": "5399:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 643, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5412:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5398:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5443:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 648, - "nodeType": "ExpressionStatement", - "src": "5443:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "d5b488b2", - "id": 650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 633, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 632, - "name": "onlyOwner", - "nameLocations": [ - "5378:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "5378:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "5378:9:0" - } - ], - "name": "sendNothing", - "nameLocation": "5337:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 630, - "mutability": "mutable", - "name": "to", - "nameLocation": "5365:2:0", - "nodeType": "VariableDeclaration", - "scope": 650, - "src": "5349:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "5348:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 634, - "nodeType": "ParameterList", - "parameters": [], - "src": "5388:0:0" - }, - "scope": 668, - "src": "5328:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 653, - "nodeType": "Block", - "src": "5509:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 654, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 651, - "nodeType": "ParameterList", - "parameters": [], - "src": "5489:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 652, - "nodeType": "ParameterList", - "parameters": [], - "src": "5509:0:0" - }, - "scope": 668, - "src": "5482:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 657, - "nodeType": "Block", - "src": "5545:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 658, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 655, - "nodeType": "ParameterList", - "parameters": [], - "src": "5525:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 656, - "nodeType": "ParameterList", - "parameters": [], - "src": "5545:0:0" - }, - "scope": 668, - "src": "5517:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 666, - "nodeType": "Block", - "src": "5614:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nativeSrc": "5633:884:0", - "nodeType": "YulBlock", - "src": "5633:884:0", - "statements": [ - { - "body": { - "nativeSrc": "5671:121:0", - "nodeType": "YulBlock", - "src": "5671:121:0", - "statements": [ - { - "body": { - "nativeSrc": "5702:45:0", - "nodeType": "YulBlock", - "src": "5702:45:0", - "statements": [ - { - "nativeSrc": "5724:5:0", - "nodeType": "YulLeave", - "src": "5724:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5699:1:0", - "nodeType": "YulIdentifier", - "src": "5699:1:0" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "5692:6:0", - "nodeType": "YulIdentifier", - "src": "5692:6:0" - }, - "nativeSrc": "5692:9:0", - "nodeType": "YulFunctionCall", - "src": "5692:9:0" - }, - "nativeSrc": "5689:58:0", - "nodeType": "YulIf", - "src": "5689:58:0" - }, - { - "nativeSrc": "5764:14:0", - "nodeType": "YulAssignment", - "src": "5764:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5773:1:0", - "nodeType": "YulIdentifier", - "src": "5773:1:0" - }, - { - "kind": "number", - "nativeSrc": "5776:1:0", - "nodeType": "YulLiteral", - "src": "5776:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "5769:3:0", - "nodeType": "YulIdentifier", - "src": "5769:3:0" - }, - "nativeSrc": "5769:9:0", - "nodeType": "YulFunctionCall", - "src": "5769:9:0" - }, - "variableNames": [ - { - "name": "b", - "nativeSrc": "5764:1:0", - "nodeType": "YulIdentifier", - "src": "5764:1:0" - } - ] - } - ] - }, - "name": "double", - "nativeSrc": "5647:145:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nativeSrc": "5663:1:0", - "nodeType": "YulTypedName", - "src": "5663:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nativeSrc": "5669:1:0", - "nodeType": "YulTypedName", - "src": "5669:1:0", - "type": "" - } - ], - "src": "5647:145:0" - }, - { - "nativeSrc": "5805:12:0", - "nodeType": "YulVariableDeclaration", - "src": "5805:12:0", - "value": { - "kind": "number", - "nativeSrc": "5816:1:0", - "nodeType": "YulLiteral", - "src": "5816:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nativeSrc": "5809:3:0", - "nodeType": "YulTypedName", - "src": "5809:3:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5933:210:0", - "nodeType": "YulBlock", - "src": "5933:210:0", - "statements": [ - { - "body": { - "nativeSrc": "5963:48:0", - "nodeType": "YulBlock", - "src": "5963:48:0", - "statements": [ - { - "nativeSrc": "5985:8:0", - "nodeType": "YulContinue", - "src": "5985:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5957:1:0", - "nodeType": "YulIdentifier", - "src": "5957:1:0" - }, - { - "kind": "number", - "nativeSrc": "5960:1:0", - "nodeType": "YulLiteral", - "src": "5960:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "5954:2:0", - "nodeType": "YulIdentifier", - "src": "5954:2:0" - }, - "nativeSrc": "5954:8:0", - "nodeType": "YulFunctionCall", - "src": "5954:8:0" - }, - "nativeSrc": "5951:60:0", - "nodeType": "YulIf", - "src": "5951:60:0" - }, - { - "body": { - "nativeSrc": "6041:45:0", - "nodeType": "YulBlock", - "src": "6041:45:0", - "statements": [ - { - "nativeSrc": "6063:5:0", - "nodeType": "YulBreak", - "src": "6063:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "6034:1:0", - "nodeType": "YulIdentifier", - "src": "6034:1:0" - }, - { - "kind": "number", - "nativeSrc": "6037:2:0", - "nodeType": "YulLiteral", - "src": "6037:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6031:2:0", - "nodeType": "YulIdentifier", - "src": "6031:2:0" - }, - "nativeSrc": "6031:9:0", - "nodeType": "YulFunctionCall", - "src": "6031:9:0" - }, - "nativeSrc": "6028:58:0", - "nodeType": "YulIf", - "src": "6028:58:0" - }, - { - "nativeSrc": "6103:26:0", - "nodeType": "YulAssignment", - "src": "6103:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6114:3:0", - "nodeType": "YulIdentifier", - "src": "6114:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nativeSrc": "6126:1:0", - "nodeType": "YulIdentifier", - "src": "6126:1:0" - } - ], - "functionName": { - "name": "double", - "nativeSrc": "6119:6:0", - "nodeType": "YulIdentifier", - "src": "6119:6:0" - }, - "nativeSrc": "6119:9:0", - "nodeType": "YulFunctionCall", - "src": "6119:9:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6110:3:0", - "nodeType": "YulIdentifier", - "src": "6110:3:0" - }, - "nativeSrc": "6110:19:0", - "nodeType": "YulFunctionCall", - "src": "6110:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nativeSrc": "6103:3:0", - "nodeType": "YulIdentifier", - "src": "6103:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5880:1:0", - "nodeType": "YulIdentifier", - "src": "5880:1:0" - }, - { - "name": "n", - "nativeSrc": "5883:1:0", - "nodeType": "YulIdentifier", - "src": "5883:1:0" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "5877:2:0", - "nodeType": "YulIdentifier", - "src": "5877:2:0" - }, - "nativeSrc": "5877:8:0", - "nodeType": "YulFunctionCall", - "src": "5877:8:0" - }, - "nativeSrc": "5830:313:0", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "5886:46:0", - "nodeType": "YulBlock", - "src": "5886:46:0", - "statements": [ - { - "nativeSrc": "5904:14:0", - "nodeType": "YulAssignment", - "src": "5904:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5913:1:0", - "nodeType": "YulIdentifier", - "src": "5913:1:0" - }, - { - "kind": "number", - "nativeSrc": "5916:1:0", - "nodeType": "YulLiteral", - "src": "5916:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5909:3:0", - "nodeType": "YulIdentifier", - "src": "5909:3:0" - }, - "nativeSrc": "5909:9:0", - "nodeType": "YulFunctionCall", - "src": "5909:9:0" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "5904:1:0", - "nodeType": "YulIdentifier", - "src": "5904:1:0" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "5834:42:0", - "nodeType": "YulBlock", - "src": "5834:42:0", - "statements": [ - { - "nativeSrc": "5852:10:0", - "nodeType": "YulVariableDeclaration", - "src": "5852:10:0", - "value": { - "kind": "number", - "nativeSrc": "5861:1:0", - "nodeType": "YulLiteral", - "src": "5861:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "5856:1:0", - "nodeType": "YulTypedName", - "src": "5856:1:0", - "type": "" - } - ] - } - ] - }, - "src": "5830:313:0" - }, - { - "cases": [ - { - "body": { - "nativeSrc": "6194:40:0", - "nodeType": "YulBlock", - "src": "6194:40:0", - "statements": [ - { - "nativeSrc": "6212:8:0", - "nodeType": "YulAssignment", - "src": "6212:8:0", - "value": { - "name": "acc", - "nativeSrc": "6217:3:0", - "nodeType": "YulIdentifier", - "src": "6217:3:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6212:1:0", - "nodeType": "YulIdentifier", - "src": "6212:1:0" - } - ] - } - ] - }, - "nativeSrc": "6187:47:0", - "nodeType": "YulCase", - "src": "6187:47:0", - "value": { - "kind": "number", - "nativeSrc": "6192:1:0", - "nodeType": "YulLiteral", - "src": "6192:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nativeSrc": "6254:48:0", - "nodeType": "YulBlock", - "src": "6254:48:0", - "statements": [ - { - "nativeSrc": "6272:16:0", - "nodeType": "YulAssignment", - "src": "6272:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6281:3:0", - "nodeType": "YulIdentifier", - "src": "6281:3:0" - }, - { - "kind": "number", - "nativeSrc": "6286:1:0", - "nodeType": "YulLiteral", - "src": "6286:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6277:3:0", - "nodeType": "YulIdentifier", - "src": "6277:3:0" - }, - "nativeSrc": "6277:11:0", - "nodeType": "YulFunctionCall", - "src": "6277:11:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6272:1:0", - "nodeType": "YulIdentifier", - "src": "6272:1:0" - } - ] - } - ] - }, - "nativeSrc": "6247:55:0", - "nodeType": "YulCase", - "src": "6247:55:0", - "value": { - "kind": "number", - "nativeSrc": "6252:1:0", - "nodeType": "YulLiteral", - "src": "6252:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "6323:38:0", - "nodeType": "YulBlock", - "src": "6323:38:0", - "statements": [ - { - "nativeSrc": "6341:6:0", - "nodeType": "YulAssignment", - "src": "6341:6:0", - "value": { - "kind": "number", - "nativeSrc": "6346:1:0", - "nodeType": "YulLiteral", - "src": "6346:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6341:1:0", - "nodeType": "YulIdentifier", - "src": "6341:1:0" - } - ] - } - ] - }, - "nativeSrc": "6315:46:0", - "nodeType": "YulCase", - "src": "6315:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6167:3:0", - "nodeType": "YulIdentifier", - "src": "6167:3:0" - }, - { - "kind": "number", - "nativeSrc": "6172:1:0", - "nodeType": "YulLiteral", - "src": "6172:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6163:3:0", - "nodeType": "YulIdentifier", - "src": "6163:3:0" - }, - "nativeSrc": "6163:11:0", - "nodeType": "YulFunctionCall", - "src": "6163:11:0" - }, - "nativeSrc": "6156:205:0", - "nodeType": "YulSwitch", - "src": "6156:205:0" - }, - { - "nativeSrc": "6374:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6374:16:0", - "value": { - "hexValue": "79756c", - "kind": "string", - "nativeSrc": "6385:5:0", - "nodeType": "YulLiteral", - "src": "6385:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nativeSrc": "6378:3:0", - "nodeType": "YulTypedName", - "src": "6378:3:0", - "type": "" - } - ] - }, - { - "nativeSrc": "6403:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6403:16:0", - "value": { - "kind": "bool", - "nativeSrc": "6415:4:0", - "nodeType": "YulLiteral", - "src": "6415:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nativeSrc": "6407:4:0", - "nodeType": "YulTypedName", - "src": "6407:4:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "6458:49:0", - "nodeType": "YulBlock", - "src": "6458:49:0", - "statements": [ - { - "nativeSrc": "6476:17:0", - "nodeType": "YulAssignment", - "src": "6476:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6486:1:0", - "nodeType": "YulLiteral", - "src": "6486:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nativeSrc": "6489:3:0", - "nodeType": "YulIdentifier", - "src": "6489:3:0" - } - ], - "functionName": { - "name": "byte", - "nativeSrc": "6481:4:0", - "nodeType": "YulIdentifier", - "src": "6481:4:0" - }, - "nativeSrc": "6481:12:0", - "nodeType": "YulFunctionCall", - "src": "6481:12:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6476:1:0", - "nodeType": "YulIdentifier", - "src": "6476:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nativeSrc": "6439:4:0", - "nodeType": "YulIdentifier", - "src": "6439:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nativeSrc": "6448:1:0", - "nodeType": "YulIdentifier", - "src": "6448:1:0" - }, - { - "kind": "number", - "nativeSrc": "6451:4:0", - "nodeType": "YulLiteral", - "src": "6451:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6445:2:0", - "nodeType": "YulIdentifier", - "src": "6445:2:0" - }, - "nativeSrc": "6445:11:0", - "nodeType": "YulFunctionCall", - "src": "6445:11:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6435:3:0", - "nodeType": "YulIdentifier", - "src": "6435:3:0" - }, - "nativeSrc": "6435:22:0", - "nodeType": "YulFunctionCall", - "src": "6435:22:0" - }, - "nativeSrc": "6432:75:0", - "nodeType": "YulIf", - "src": "6432:75:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "prague", - "externalReferences": [ - { - "declaration": 660, - "isOffset": false, - "isSlot": false, - "src": "5883:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6212:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6272:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6341:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6448:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6476:1:0", - "valueSize": 1 - } - ], - "id": 665, - "nodeType": "InlineAssembly", - "src": "5624:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "692103d0", - "id": 667, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nameLocation": "5562:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 661, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "n", - "nameLocation": "5579:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5571:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5570:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 664, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 663, - "mutability": "mutable", - "name": "r", - "nameLocation": "5611:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5603:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5603:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5602:11:0" - }, - "scope": 668, - "src": "5553:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 669, - "src": "2158:4367:0", - "usedErrors": [ - 60, - 66 - ], - "usedEvents": [ - 91, - 149 - ] - }, - "669": { - "absolutePath": "breadth_08.sol", - "exportedSymbols": { - "Base": [ - 184 - ], - "Diamond": [ - 668 - ], - "IToken": [ - 99 - ], - "Insufficient": [ - 66 - ], - "Left": [ - 196 - ], - "MathLib": [ - 128 - ], - "Price": [ - 3 - ], - "Right": [ - 208 - ], - "Unauthorized": [ - 60 - ], - "addPrice": [ - 29 - ], - "clamp": [ - 83 - ], - "eqPrice": [ - 51 - ] - }, - "id": 669, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ], - "nodeType": "PragmaDirective", - "src": "384:24:0" - }, - { - "canonicalName": "Price", - "id": 3, - "name": "Price", - "nameLocation": "415:5:0", - "nodeType": "UserDefinedValueTypeDefinition", - "src": "410:22:0", - "underlyingType": { - "id": 2, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "424:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - }, - { - "body": { - "id": 28, - "nodeType": "Block", - "src": "491:61:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 19, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "528:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 17, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 18, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "521:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "515:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "515:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "id": 23, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "546:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 21, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "533:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "539:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "533:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 24, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "533:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "515:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "expression": { - "id": 15, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "504:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 16, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "510:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "504:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "504:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 14, - "id": 27, - "nodeType": "Return", - "src": "497:52:0" - } - ] - }, - "id": 29, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "addPrice", - "nameLocation": "443:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "a", - "nameLocation": "458:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "452:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 5, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4, - "name": "Price", - "nameLocations": [ - "452:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "452:5:0" - }, - "referencedDeclaration": 3, - "src": "452:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9, - "mutability": "mutable", - "name": "b", - "nameLocation": "467:1:0", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "461:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 8, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7, - "name": "Price", - "nameLocations": [ - "461:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "461:5:0" - }, - "referencedDeclaration": 3, - "src": "461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "451:18:0" - }, - "returnParameters": { - "id": 14, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 29, - "src": "484:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 12, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 11, - "name": "Price", - "nameLocations": [ - "484:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "484:5:0" - }, - "referencedDeclaration": 3, - "src": "484:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "483:7:0" - }, - "scope": 669, - "src": "434:118:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 50, - "nodeType": "Block", - "src": "609:50:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 42, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "635:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 40, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "622:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "628:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "622:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 43, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "622:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 46, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "654:1:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - ], - "expression": { - "id": 44, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "641:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "647:6:0", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "641:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Price_$3_$returns$_t_uint128_$", - "typeString": "function (Price) pure returns (uint128)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "641:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "622:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 39, - "id": 49, - "nodeType": "Return", - "src": "615:41:0" - } - ] - }, - "id": 51, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "eqPrice", - "nameLocation": "563:7:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 36, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 32, - "mutability": "mutable", - "name": "a", - "nameLocation": "577:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "571:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 31, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30, - "name": "Price", - "nameLocations": [ - "571:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "571:5:0" - }, - "referencedDeclaration": 3, - "src": "571:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "b", - "nameLocation": "586:1:0", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "580:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "id": 34, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 33, - "name": "Price", - "nameLocations": [ - "580:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "580:5:0" - }, - "referencedDeclaration": 3, - "src": "580:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "570:18:0" - }, - "returnParameters": { - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 51, - "src": "603:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 37, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "603:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "602:6:0" - }, - "scope": 669, - "src": "554:105:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "functionList": [ - { - "definition": { - "id": 52, - "name": "addPrice", - "nameLocations": [ - "668:8:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "668:8:0" - }, - "operator": "+" - }, - { - "definition": { - "id": 53, - "name": "eqPrice", - "nameLocations": [ - "683:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 51, - "src": "683:7:0" - }, - "operator": "==" - } - ], - "global": true, - "id": 56, - "nodeType": "UsingForDirective", - "src": "661:54:0", - "typeName": { - "id": 55, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 54, - "name": "Price", - "nameLocations": [ - "702:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "702:5:0" - }, - "referencedDeclaration": 3, - "src": "702:5:0", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - } - }, - { - "errorSelector": "8e4a23d6", - "id": 60, - "name": "Unauthorized", - "nameLocation": "723:12:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 59, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 58, - "mutability": "mutable", - "name": "who", - "nameLocation": "744:3:0", - "nodeType": "VariableDeclaration", - "scope": 60, - "src": "736:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 57, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "736:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "735:13:0" - }, - "src": "717:32:0" - }, - { - "errorSelector": "e8620800", - "id": 66, - "name": "Insufficient", - "nameLocation": "756:12:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 65, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 62, - "mutability": "mutable", - "name": "requested", - "nameLocation": "777:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "769:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 61, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 64, - "mutability": "mutable", - "name": "available", - "nameLocation": "796:9:0", - "nodeType": "VariableDeclaration", - "scope": 66, - "src": "788:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "768:38:0" - }, - "src": "750:57:0" - }, - { - "body": { - "id": 82, - "nodeType": "Block", - "src": "891:37:0", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "904:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "908:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "904:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 79, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "904:21:0", - "trueExpression": { - "id": 78, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "916:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 74, - "id": 81, - "nodeType": "Return", - "src": "897:28:0" - } - ] - }, - "id": 83, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "clamp", - "nameLocation": "836:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 71, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 68, - "mutability": "mutable", - "name": "x", - "nameLocation": "850:1:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "842:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 67, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "842:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 70, - "mutability": "mutable", - "name": "limit", - "nameLocation": "861:5:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "853:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 69, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "841:26:0" - }, - "returnParameters": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "882:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "881:9:0" - }, - "scope": 669, - "src": "827:101:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IToken", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 99, - "linearizedBaseContracts": [ - 99 - ], - "name": "IToken", - "nameLocation": "940:6:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "certora_contract_name": "IToken", - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 91, - "name": "Transfer", - "nameLocation": "959:8:0", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "984:4:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "968:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "968:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "1006:2:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "990:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "IToken", - "constant": false, - "id": 89, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "1018:5:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "1010:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 88, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "967:57:0" - }, - "src": "953:72:0" - }, - { - "certora_contract_name": "IToken", - "functionSelector": "70a08231", - "id": 98, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1040:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "IToken", - "id": 94, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 93, - "mutability": "mutable", - "name": "who", - "nameLocation": "1058:3:0", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1050:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 92, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1049:13:0" - }, - "returnParameters": { - "certora_contract_name": "IToken", - "id": 97, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "IToken", - "constant": false, - "id": 96, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 98, - "src": "1086:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "IToken", - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:0", - "typeDescriptions": { - "certora_contract_name": "IToken", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1085:9:0" - }, - "scope": 99, - "src": "1031:64:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 669, - "src": "930:167:0", - "usedErrors": [], - "usedEvents": [ - 91 - ] - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "MathLib", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 128, - "linearizedBaseContracts": [ - 128 - ], - "name": "MathLib", - "nameLocation": "1107:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "certora_contract_name": "MathLib", - "id": 126, - "nodeType": "Block", - "src": "1195:118:0", - "statements": [ - { - "certora_contract_name": "MathLib", - "id": 125, - "nodeType": "UncheckedBlock", - "src": "1205:102:0", - "statements": [ - { - "assignments": [ - 109 - ], - "certora_contract_name": "MathLib", - "declarations": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 109, - "mutability": "mutable", - "name": "c", - "nameLocation": "1237:1:0", - "nodeType": "VariableDeclaration", - "scope": 125, - "src": "1229:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1229:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 113, - "initialValue": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 110, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1241:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 111, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1245:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1241:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1229:17:0" - }, - { - "certora_contract_name": "MathLib", - "expression": { - "certora_contract_name": "MathLib", - "condition": { - "certora_contract_name": "MathLib", - "commonType": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "MathLib", - "id": 114, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1267:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "MathLib", - "id": 115, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "1271:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:5:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "MathLib", - "id": 122, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "1295:1:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1267:29:0", - "trueExpression": { - "certora_contract_name": "MathLib", - "expression": { - "arguments": [ - { - "certora_contract_name": "MathLib", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib" - } - } - } - ], - "certora_contract_name": "MathLib", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "MathLib", - "id": 117, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1275:4:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1275:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1289:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1275:17:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 107, - "id": 124, - "nodeType": "Return", - "src": "1260:36:0" - } - ] - } - ] - }, - "certora_contract_name": "MathLib", - "id": 127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clampedAdd", - "nameLocation": "1130:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "MathLib", - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 101, - "mutability": "mutable", - "name": "a", - "nameLocation": "1149:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1141:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1141:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "b", - "nameLocation": "1160:1:0", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1152:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1140:22:0" - }, - "returnParameters": { - "certora_contract_name": "MathLib", - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "MathLib", - "constant": false, - "id": 106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 127, - "src": "1186:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "MathLib", - "id": 105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1186:7:0", - "typeDescriptions": { - "certora_contract_name": "MathLib", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1185:9:0" - }, - "scope": 128, - "src": "1121:192:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 669, - "src": "1099:216:0", - "usedErrors": [], - "usedEvents": [] - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Base", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": false, - "id": 184, - "linearizedBaseContracts": [ - 184 - ], - "name": "Base", - "nameLocation": "1335:4:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Base.Phase", - "certora_contract_name": "Base", - "id": 132, - "members": [ - { - "certora_contract_name": "Base", - "id": 129, - "name": "Init", - "nameLocation": "1367:4:0", - "nodeType": "EnumValue", - "src": "1367:4:0" - }, - { - "certora_contract_name": "Base", - "id": 130, - "name": "Active", - "nameLocation": "1381:6:0", - "nodeType": "EnumValue", - "src": "1381:6:0" - }, - { - "certora_contract_name": "Base", - "id": 131, - "name": "Done", - "nameLocation": "1397:4:0", - "nodeType": "EnumValue", - "src": "1397:4:0" - } - ], - "name": "Phase", - "nameLocation": "1351:5:0", - "nodeType": "EnumDefinition", - "src": "1346:61:0" - }, - { - "canonicalName": "Base.Account", - "certora_contract_name": "Base", - "id": 137, - "members": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 134, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1446:7:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1438:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1438:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1470:5:0", - "nodeType": "VariableDeclaration", - "scope": 137, - "src": "1463:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 135, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1463:6:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "Account", - "nameLocation": "1420:7:0", - "nodeType": "StructDefinition", - "scope": 184, - "src": "1413:69:0", - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": true, - "functionSelector": "af8214ef", - "id": 140, - "mutability": "constant", - "name": "LIMIT", - "nameLocation": "1512:5:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1488:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1488:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "certora_contract_name": "Base", - "hexValue": "313030", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1520:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "functionSelector": "cf09e0d0", - "id": 142, - "mutability": "immutable", - "name": "createdAt", - "nameLocation": "1554:9:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1529:34:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1529:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Base", - "constant": false, - "id": 144, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1586:5:0", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1569:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1569:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "anonymous": false, - "certora_contract_name": "Base", - "eventSelector": "a6dcc92f45df25789d5639b7a0c97ba1edf3bb1c0b5dd3376fd96a0db87c4642", - "id": 149, - "name": "PhaseChanged", - "nameLocation": "1604:12:0", - "nodeType": "EventDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 148, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 147, - "indexed": true, - "mutability": "mutable", - "name": "newPhase", - "nameLocation": "1631:8:0", - "nodeType": "VariableDeclaration", - "scope": 149, - "src": "1617:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Base", - "id": 145, - "name": "Phase", - "nameLocations": [ - "1617:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "1617:5:0" - }, - "referencedDeclaration": 132, - "src": "1617:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "internal" - } - ], - "src": "1616:24:0" - }, - "src": "1598:43:0" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 163, - "nodeType": "Block", - "src": "1668:108:0", - "statements": [ - { - "certora_contract_name": "Base", - "condition": { - "certora_contract_name": "Base", - "commonType": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 151, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1682:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1686:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1682:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "certora_contract_name": "Base", - "id": 153, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1696:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1682:19:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 161, - "nodeType": "IfStatement", - "src": "1678:81:0", - "trueBody": { - "certora_contract_name": "Base", - "id": 160, - "nodeType": "Block", - "src": "1703:56:0", - "statements": [ - { - "certora_contract_name": "Base", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 156, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1737:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1741:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1737:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Base", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Base", - "id": 155, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 60, - "src": "1724:12:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1724:24:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 159, - "nodeType": "RevertStatement", - "src": "1717:31:0" - } - ] - } - }, - { - "certora_contract_name": "Base", - "id": 162, - "nodeType": "PlaceholderStatement", - "src": "1768:1:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 164, - "name": "onlyOwner", - "nameLocation": "1656:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 150, - "nodeType": "ParameterList", - "parameters": [], - "src": "1665:2:0" - }, - "src": "1647:129:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Base", - "id": 177, - "nodeType": "Block", - "src": "1796:72:0", - "statements": [ - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 167, - "name": "createdAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1806:9:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1818:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1824:9:0", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1818:15:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:27:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "1806:27:0" - }, - { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Base", - "id": 172, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1843:5:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Base", - "expression": { - "certora_contract_name": "Base", - "id": 173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1851:3:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1851:10:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1843:18:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1843:18:0" - } - ] - }, - "certora_contract_name": "Base", - "id": 178, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 165, - "nodeType": "ParameterList", - "parameters": [], - "src": "1793:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 166, - "nodeType": "ParameterList", - "parameters": [], - "src": "1796:0:0" - }, - "scope": 184, - "src": "1782:86:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "certora_contract_name": "Base", - "functionSelector": "5c36b186", - "id": 183, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "1883:4:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Base", - "id": 179, - "nodeType": "ParameterList", - "parameters": [], - "src": "1887:2:0" - }, - "returnParameters": { - "certora_contract_name": "Base", - "id": 182, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Base", - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 183, - "src": "1914:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Base", - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": { - "certora_contract_name": "Base", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1913:9:0" - }, - "scope": 184, - "src": "1874:49:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 669, - "src": "1317:608:0", - "usedErrors": [], - "usedEvents": [ - 149 - ] - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Left", - "id": 185, - "name": "Base", - "nameLocations": [ - "1944:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "1944:4:0" - }, - "certora_contract_name": "Left", - "id": 186, - "nodeType": "InheritanceSpecifier", - "src": "1944:4:0" - } - ], - "canonicalName": "Left", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 196, - "linearizedBaseContracts": [ - 196, - 184 - ], - "name": "Left", - "nameLocation": "1936:4:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 183 - ], - "body": { - "certora_contract_name": "Left", - "id": 194, - "nodeType": "Block", - "src": "2013:25:0", - "statements": [ - { - "certora_contract_name": "Left", - "expression": { - "certora_contract_name": "Left", - "hexValue": "31", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 191, - "id": 193, - "nodeType": "Return", - "src": "2023:8:0" - } - ] - }, - "certora_contract_name": "Left", - "functionSelector": "5c36b186", - "id": 195, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "1964:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Left", - "id": 188, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1986:8:0" - }, - "parameters": { - "certora_contract_name": "Left", - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "1968:2:0" - }, - "returnParameters": { - "certora_contract_name": "Left", - "id": 191, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Left", - "constant": false, - "id": 190, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 195, - "src": "2004:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Left", - "id": 189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2004:7:0", - "typeDescriptions": { - "certora_contract_name": "Left", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2003:9:0" - }, - "scope": 196, - "src": "1955:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 669, - "src": "1927:113:0", - "usedErrors": [], - "usedEvents": [ - 149 - ] - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Right", - "id": 197, - "name": "Base", - "nameLocations": [ - "2060:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 184, - "src": "2060:4:0" - }, - "certora_contract_name": "Right", - "id": 198, - "nodeType": "InheritanceSpecifier", - "src": "2060:4:0" - } - ], - "canonicalName": "Right", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 208, - "linearizedBaseContracts": [ - 208, - 184 - ], - "name": "Right", - "nameLocation": "2051:5:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 183 - ], - "body": { - "certora_contract_name": "Right", - "id": 206, - "nodeType": "Block", - "src": "2129:25:0", - "statements": [ - { - "certora_contract_name": "Right", - "expression": { - "certora_contract_name": "Right", - "hexValue": "32", - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2146:1:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "functionReturnParameters": 203, - "id": 205, - "nodeType": "Return", - "src": "2139:8:0" - } - ] - }, - "certora_contract_name": "Right", - "functionSelector": "5c36b186", - "id": 207, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "2080:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Right", - "id": 200, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2102:8:0" - }, - "parameters": { - "certora_contract_name": "Right", - "id": 199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:2:0" - }, - "returnParameters": { - "certora_contract_name": "Right", - "id": 203, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Right", - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 207, - "src": "2120:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Right", - "id": 201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:0", - "typeDescriptions": { - "certora_contract_name": "Right", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2119:9:0" - }, - "scope": 208, - "src": "2071:83:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 669, - "src": "2042:114:0", - "usedErrors": [], - "usedEvents": [ - 149 - ] - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 209, - "name": "Left", - "nameLocations": [ - "2178:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2178:4:0" - }, - "certora_contract_name": "Diamond", - "id": 210, - "nodeType": "InheritanceSpecifier", - "src": "2178:4:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 211, - "name": "Right", - "nameLocations": [ - "2184:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2184:5:0" - }, - "certora_contract_name": "Diamond", - "id": 212, - "nodeType": "InheritanceSpecifier", - "src": "2184:5:0" - }, - { - "baseName": { - "certora_contract_name": "Diamond", - "id": 213, - "name": "IToken", - "nameLocations": [ - "2191:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "2191:6:0" - }, - "certora_contract_name": "Diamond", - "id": 214, - "nodeType": "InheritanceSpecifier", - "src": "2191:6:0" - } - ], - "canonicalName": "Diamond", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 668, - "internalFunctionIDs": { - "424": 1, - "certora_contract_name": "Diamond" - }, - "linearizedBaseContracts": [ - 668, - 99, - 208, - 196, - 184 - ], - "name": "Diamond", - "nameLocation": "2167:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "certora_contract_name": "Diamond", - "global": false, - "id": 217, - "libraryName": { - "certora_contract_name": "Diamond", - "id": 215, - "name": "MathLib", - "nameLocations": [ - "2210:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 128, - "src": "2210:7:0" - }, - "nodeType": "UsingForDirective", - "src": "2204:26:0", - "typeName": { - "certora_contract_name": "Diamond", - "id": 216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "5e5c06e2", - "id": 222, - "mutability": "mutable", - "name": "accounts", - "nameLocation": "2341:8:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2292:57:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 221, - "keyName": "owner", - "keyNameLocation": "2308:5:0", - "keyType": { - "certora_contract_name": "Diamond", - "id": 218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2300:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2292:41:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account)" - }, - "valueName": "account", - "valueNameLocation": "2325:7:0", - "valueType": { - "certora_contract_name": "Diamond", - "id": 220, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 219, - "name": "Account", - "nameLocations": [ - "2317:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "2317:7:0" - }, - "referencedDeclaration": 137, - "src": "2317:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "history", - "nameLocation": "2374:7:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2355:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 224, - "nodeType": "ArrayTypeName", - "src": "2355:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "b1c9fe6e", - "id": 228, - "mutability": "mutable", - "name": "phase", - "nameLocation": "2400:5:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2387:18:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 226, - "name": "Phase", - "nameLocations": [ - "2387:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 132, - "src": "2387:5:0" - }, - "referencedDeclaration": 132, - "src": "2387:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "visibility": "public" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "functionSelector": "9363c812", - "id": 231, - "mutability": "mutable", - "name": "floorPrice", - "nameLocation": "2424:10:0", - "nodeType": "VariableDeclaration", - "scope": 668, - "src": "2411:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 230, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 229, - "name": "Price", - "nameLocations": [ - "2411:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "2411:5:0" - }, - "referencedDeclaration": 3, - "src": "2411:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 266, - "nodeType": "Block", - "src": "2486:163:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 238, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2496:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 240, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 239, - "name": "firstUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2505:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2496:19:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 242, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "certora_contract_name": "Diamond", - "id": 241, - "name": "Account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2518:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_struct$_Account_$137_storage_ptr_$", - "typeString": "type(struct Base.Account storage pointer)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "2527:7:0", - "2542:5:0" - ], - "names": [ - "balance", - "nonce" - ], - "nodeType": "FunctionCall", - "src": "2518:34:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_memory_ptr", - "typeString": "struct Base.Account memory" - } - }, - "src": "2496:56:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2496:56:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 250, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2575:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 247, - "name": "history", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2562:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2570:4:0", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2562:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "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": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2562:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 252, - "nodeType": "ExpressionStatement", - "src": "2562:18:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 253, - "name": "floorPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2590:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 259, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 235, - "src": "2628:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 260, - "name": "LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2634:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 258, - "name": "clamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "2622:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2622:18:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 256, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2614:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2614:27:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 254, - "name": "Price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "2603:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_userDefinedValueType$_Price_$3_$", - "typeString": "type(Price)" - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2609:4:0", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2603:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Price_$3_$", - "typeString": "function (uint128) pure returns (Price)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2603:39:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "2590:52:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "id": 265, - "nodeType": "ExpressionStatement", - "src": "2590:52:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 267, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 236, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "firstUser", - "nameLocation": "2461:9:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2453:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2453:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 235, - "mutability": "mutable", - "name": "seed", - "nameLocation": "2480:4:0", - "nodeType": "VariableDeclaration", - "scope": 267, - "src": "2472:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2472:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2452:33:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 237, - "nodeType": "ParameterList", - "parameters": [], - "src": "2486:0:0" - }, - "scope": 668, - "src": "2441:208:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 195, - 207 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 288, - "nodeType": "Block", - "src": "2718:100:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 275, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2728:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 276, - "name": "Phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2736:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_enum$_Phase_$132_$", - "typeString": "type(enum Base.Phase)" - } - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2742:6:0", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 130, - "src": "2736:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "src": "2728:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "2728:20:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 281, - "name": "phase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "2776:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_enum$_Phase_$132", - "typeString": "enum Base.Phase" - } - ], - "certora_contract_name": "Diamond", - "id": 280, - "name": "PhaseChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "2763:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Phase_$132_$returns$__$", - "typeString": "function (enum Base.Phase)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2763:19:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "EmitStatement", - "src": "2758:24:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 284, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2799:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_super$_Diamond_$668_$", - "typeString": "type(contract super Diamond)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2805:4:0", - "memberName": "ping", - "nodeType": "MemberAccess", - "referencedDeclaration": 207, - "src": "2799:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () returns (uint256)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:12:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 274, - "id": 287, - "nodeType": "Return", - "src": "2792:19:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "5c36b186", - "id": 289, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ping", - "nameLocation": "2664:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 271, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "certora_contract_name": "Diamond", - "id": 269, - "name": "Left", - "nameLocations": [ - "2687:4:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "2687:4:0" - }, - { - "certora_contract_name": "Diamond", - "id": 270, - "name": "Right", - "nameLocations": [ - "2693:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 208, - "src": "2693:5:0" - } - ], - "src": "2678:21:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 268, - "nodeType": "ParameterList", - "parameters": [], - "src": "2668:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 289, - "src": "2709:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2708:9:0" - }, - "scope": 668, - "src": "2655:163:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 98 - ], - "body": { - "certora_contract_name": "Diamond", - "id": 302, - "nodeType": "Block", - "src": "2897:45:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 297, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2914:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 299, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 298, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "2923:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2914:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2928:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "2914:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 296, - "id": 301, - "nodeType": "Return", - "src": "2907:28:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "70a08231", - "id": 303, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "2833:9:0", - "nodeType": "FunctionDefinition", - "overrides": { - "certora_contract_name": "Diamond", - "id": 293, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2870:8:0" - }, - "parameters": { - "certora_contract_name": "Diamond", - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 291, - "mutability": "mutable", - "name": "who", - "nameLocation": "2851:3:0", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2843:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2843:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2842:13:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 296, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 303, - "src": "2888:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2888:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2887:9:0" - }, - "scope": 668, - "src": "2824:118:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 363, - "nodeType": "Block", - "src": "3027:363:0", - "statements": [ - { - "assignments": [ - 316 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "from", - "nameLocation": "3053:4:0", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3037:20:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 315, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 314, - "name": "Account", - "nameLocations": [ - "3037:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 137, - "src": "3037:7:0" - }, - "referencedDeclaration": 137, - "src": "3037:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account" - } - }, - "visibility": "internal" - } - ], - "id": 321, - "initialValue": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 317, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3060:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 320, - "indexExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3069:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3073:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3069:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3060:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3037:43:0" - }, - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 322, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3094:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3099:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3094:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3109:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3094:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 333, - "nodeType": "IfStatement", - "src": "3090:91:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 332, - "nodeType": "Block", - "src": "3116:65:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "errorCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3150:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 328, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3157:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3162:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3157:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 326, - "name": "Insufficient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3137:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3137:33:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 331, - "nodeType": "RevertStatement", - "src": "3130:40:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "id": 340, - "nodeType": "UncheckedBlock", - "src": "3190:56:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 334, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "3214:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage_ptr", - "typeString": "struct Base.Account storage pointer" - } - }, - "id": 336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3219:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3214:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3230:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "3214:21:0" - } - ] - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 341, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3255:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 343, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 342, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3264:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3255:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3268:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3255:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 350, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3310:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 345, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3278:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$137_storage_$", - "typeString": "mapping(address => struct Base.Account storage ref)" - } - }, - "certora_contract_name": "Diamond", - "id": 347, - "indexExpression": { - "certora_contract_name": "Diamond", - "id": 346, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3287:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3278:12:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_struct$_Account_$137_storage", - "typeString": "struct Base.Account storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3291:7:0", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 134, - "src": "3278:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3299:10:0", - "memberName": "clampedAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 127, - "src": "3278:31:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3278:38:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3255:61:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "3255:61:0" - }, - { - "certora_contract_name": "Diamond", - "eventCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 355, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3344:6:0", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3340:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 357, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 305, - "src": "3352:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "certora_contract_name": "Diamond", - "id": 358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "3356:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 354, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "3331:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3331:31:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 360, - "nodeType": "EmitStatement", - "src": "3326:36:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "74727565", - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3379:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 313, - "id": 362, - "nodeType": "Return", - "src": "3372:11:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "a9059cbb", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 310, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 309, - "name": "onlyOwner", - "nameLocations": [ - "3002:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "3002:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "3002:9:0" - } - ], - "name": "transfer", - "nameLocation": "2957:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 308, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 305, - "mutability": "mutable", - "name": "to", - "nameLocation": "2974:2:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2966:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 307, - "mutability": "mutable", - "name": "value", - "nameLocation": "2986:5:0", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "2978:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2978:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2965:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 312, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3021:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3021:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3020:6:0" - }, - "scope": 668, - "src": "2948:442:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 389, - "nodeType": "Block", - "src": "3519:87:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 51, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 376, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3533:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 377, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3538:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3533:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 384, - "nodeType": "IfStatement", - "src": "3529:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 383, - "nodeType": "Block", - "src": "3541:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 379, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3562:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 380, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3566:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3562:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 382, - "nodeType": "Return", - "src": "3555:12:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "function": 29, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 385, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "3594:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 386, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3598:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "src": "3594:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "functionReturnParameters": 375, - "id": 388, - "nodeType": "Return", - "src": "3587:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "f5dff84f", - "id": 390, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "total", - "nameLocation": "3467:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 371, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "a", - "nameLocation": "3479:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3473:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 366, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 365, - "name": "Price", - "nameLocations": [ - "3473:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3473:5:0" - }, - "referencedDeclaration": 3, - "src": "3473:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "b", - "nameLocation": "3488:1:0", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3482:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 368, - "name": "Price", - "nameLocations": [ - "3482:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3482:5:0" - }, - "referencedDeclaration": 3, - "src": "3482:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3472:18:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 375, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 374, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 390, - "src": "3512:5:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 372, - "name": "Price", - "nameLocations": [ - "3512:5:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3, - "src": "3512:5:0" - }, - "referencedDeclaration": 3, - "src": "3512:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_userDefinedValueType$_Price_$3", - "typeString": "Price" - } - }, - "visibility": "internal" - } - ], - "src": "3511:7:0" - }, - "scope": 668, - "src": "3458:148:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 411, - "nodeType": "Block", - "src": "3750:31:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 407, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "3771:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 406, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3769:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3769:4:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 405, - "name": "f", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 398, - "src": "3767:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:7:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 404, - "id": 410, - "nodeType": "Return", - "src": "3760:14:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "applyTwice", - "nameLocation": "3621:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 401, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 398, - "mutability": "mutable", - "name": "f", - "nameLocation": "3691:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3641:51:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 397, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "certora_contract_name": "Diamond", - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3650:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3650:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3649:9:0" - }, - "returnParameterTypes": { - "certora_contract_name": "Diamond", - "id": 396, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 395, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 397, - "src": "3682:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3682:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3681:9:0" - }, - "src": "3641:51:0", - "stateMutability": "pure", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 400, - "mutability": "mutable", - "name": "x", - "nameLocation": "3710:1:0", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3702:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3702:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3631:86:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 404, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 403, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 412, - "src": "3741:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3740:9:0" - }, - "scope": 668, - "src": "3612:169:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 423, - "nodeType": "Block", - "src": "3844:29:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 419, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "3861:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3861:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 418, - "id": 422, - "nodeType": "Return", - "src": "3854:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "id": 424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bump", - "nameLocation": "3796:4:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 415, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "x", - "nameLocation": "3809:1:0", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3801:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3801:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3800:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 417, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 424, - "src": "3835:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3835:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3834:9:0" - }, - "scope": 668, - "src": "3787:86:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 461, - "nodeType": "Block", - "src": "4003:108:0", - "statements": [ - { - "assignments": [ - 436 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 436, - "mutability": "mutable", - "name": "m", - "nameLocation": "4021:1:0", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "4013:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4013:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 437, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4025:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 438, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4029:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4025:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "certora_contract_name": "Diamond", - "id": 441, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4037:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "4025:13:0", - "trueExpression": { - "certora_contract_name": "Diamond", - "id": 440, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4033:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4013:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 444, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4049:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "id": 445, - "name": "hi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "4053:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 446, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4048:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "components": [ - { - "certora_contract_name": "Diamond", - "id": 447, - "name": "m", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "4060:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "4063:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "4067:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4059:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "4048:21:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 453, - "nodeType": "ExpressionStatement", - "src": "4048:21:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 454, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4079:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 456, - "name": "bump", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "4095:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - { - "certora_contract_name": "Diamond", - "id": 457, - "name": "lo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "4101:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 455, - "name": "applyTwice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 412, - "src": "4084:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (function (uint256) pure returns (uint256),uint256) pure returns (uint256)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4079:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 460, - "nodeType": "ExpressionStatement", - "src": "4079:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "bbda574c", - "id": 462, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tupleAndConditional", - "nameLocation": "3888:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "a", - "nameLocation": "3916:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3908:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3908:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "b", - "nameLocation": "3927:1:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3919:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3907:22:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 431, - "mutability": "mutable", - "name": "lo", - "nameLocation": "3983:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3975:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 433, - "mutability": "mutable", - "name": "hi", - "nameLocation": "3995:2:0", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "3987:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3987:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3974:24:0" - }, - "scope": 668, - "src": "3879:232:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 502, - "nodeType": "Block", - "src": "4197:234:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "clauses": [ - { - "block": { - "certora_contract_name": "Diamond", - "id": 481, - "nodeType": "Block", - "src": "4256:37:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "4277:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 480, - "nodeType": "Return", - "src": "4270:12:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 482, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "value", - "nameLocation": "4249:5:0", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "4241:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4240:15:0" - }, - "src": "4232:61:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 488, - "nodeType": "Block", - "src": "4321:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4342:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 471, - "id": 487, - "nodeType": "Return", - "src": "4335:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "Error", - "id": 489, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "4306:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4306:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4305:15:0" - }, - "src": "4294:60:0" - }, - { - "block": { - "certora_contract_name": "Diamond", - "id": 499, - "nodeType": "Block", - "src": "4376:49:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4402:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "certora_contract_name": "Diamond", - "id": 493, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4397:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4411:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4397:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 471, - "id": 498, - "nodeType": "Return", - "src": "4390:24:0" - } - ] - }, - "certora_contract_name": "Diamond", - "errorName": "", - "id": 500, - "nodeType": "TryCatchClause", - "parameters": { - "certora_contract_name": "Diamond", - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 500, - "src": "4362:12:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 490, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4362:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4361:14:0" - }, - "src": "4355:70:0" - } - ], - "externalCall": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 474, - "name": "who", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "4227:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 472, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "4211:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4217:9:0", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "4211:15:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4211:20:0", - "tryCall": true, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "TryStatement", - "src": "4207:218:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "aec5299f", - "id": 503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBalance", - "nameLocation": "4126:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 465, - "mutability": "mutable", - "name": "token", - "nameLocation": "4145:5:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4138:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 464, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "certora_contract_name": "Diamond", - "id": 463, - "name": "IToken", - "nameLocations": [ - "4138:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 99, - "src": "4138:6:0" - }, - "referencedDeclaration": 99, - "src": "4138:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_IToken_$99", - "typeString": "contract IToken" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 467, - "mutability": "mutable", - "name": "who", - "nameLocation": "4160:3:0", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4152:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4152:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4137:27:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 470, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "4188:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4188:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4187:9:0" - }, - "scope": 668, - "src": "4117:314:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 526, - "nodeType": "Block", - "src": "4526:77:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 512, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "4536:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 513, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "4543:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4550:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4543:11:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4555:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4543:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 517, - "nodeType": "ExpressionStatement", - "src": "4536:25:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 518, - "name": "blob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "4571:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4586:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_contract$_Diamond_$668", - "typeString": "contract Diamond" - } - ], - "certora_contract_name": "Diamond", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4578:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond" - } - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4578:13:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4592:4:0", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4578:18:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "4571:25:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "4571:25:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "43b0ea25", - "id": 527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "codeProbe", - "nameLocation": "4446:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 506, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "target", - "nameLocation": "4464:6:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4456:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4456:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4455:16:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 508, - "mutability": "mutable", - "name": "size", - "nameLocation": "4501:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4493:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4493:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "blob", - "nameLocation": "4520:4:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "4507:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4507:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4492:33:0" - }, - "scope": 668, - "src": "4437:166:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 539, - "nodeType": "Block", - "src": "4734:33:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 534, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "4751:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "certora_contract_name": "Diamond", - "endExpression": { - "certora_contract_name": "Diamond", - "hexValue": "34", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4758:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4751:9:0", - "startExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4756:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - }, - "functionReturnParameters": 533, - "id": 538, - "nodeType": "Return", - "src": "4744:16:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "655f4111", - "id": 540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "selectorOf", - "nameLocation": "4663:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "data", - "nameLocation": "4689:4:0", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4674:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 528, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4674:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4673:21:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 533, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 532, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "4718:14:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4717:16:0" - }, - "scope": 668, - "src": "4654:113:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 627, - "nodeType": "Block", - "src": "4839:483:0", - "statements": [ - { - "body": { - "certora_contract_name": "Diamond", - "id": 573, - "nodeType": "Block", - "src": "4881:154:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4899:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "33", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4904:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4899:6:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4958:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "37", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4962:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "4958:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "IfStatement", - "src": "4954:49:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 566, - "nodeType": "Block", - "src": "4965:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 565, - "nodeType": "Break", - "src": "4983:5:0" - } - ] - } - }, - "id": 568, - "nodeType": "IfStatement", - "src": "4895:108:0", - "trueBody": { - "certora_contract_name": "Diamond", - "id": 561, - "nodeType": "Block", - "src": "4907:41:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "id": 560, - "nodeType": "Continue", - "src": "4925:8:0" - } - ] - } - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 569, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5016:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 570, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "5023:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5016:8:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "5016:8:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4869:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 552, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "4873:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4869:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 574, - "initializationExpression": { - "assignments": [ - 548 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "i", - "nameLocation": "4862:1:0", - "nodeType": "VariableDeclaration", - "scope": 574, - "src": "4854:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4854:13:0" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4876:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "4876:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4876:3:0" - }, - "nodeType": "ForStatement", - "src": "4849:186:0" - }, - { - "assignments": [ - 576 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "j", - "nameLocation": "5052:1:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5044:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5044:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 578, - "initialValue": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5056:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5044:13:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 585, - "nodeType": "Block", - "src": "5081:28:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5095:3:0", - "subExpression": { - "certora_contract_name": "Diamond", - "id": 582, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5095:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 584, - "nodeType": "ExpressionStatement", - "src": "5095:3:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 579, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "5074:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 580, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5078:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5074:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 586, - "nodeType": "WhileStatement", - "src": "5067:42:0" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 593, - "nodeType": "Block", - "src": "5121:38:0", - "statements": [ - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 587, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5135:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 588, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5141:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5147:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5141:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5135:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "nodeType": "ExpressionStatement", - "src": "5135:13:0" - } - ] - }, - "certora_contract_name": "Diamond", - "condition": { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 594, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5167:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "certora_contract_name": "Diamond", - "id": 595, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5173:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5167:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 597, - "nodeType": "DoWhileStatement", - "src": "5118:58:0" - }, - { - "assignments": [ - 602 - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "scratch", - "nameLocation": "5202:7:0", - "nodeType": "VariableDeclaration", - "scope": 627, - "src": "5185:24:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5185:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 601, - "nodeType": "ArrayTypeName", - "src": "5185:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 610, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "commonType": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "certora_contract_name": "Diamond", - "id": 606, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "5226:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "certora_contract_name": "Diamond", - "hexValue": "31", - "id": 607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5230:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5226:5:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "certora_contract_name": "Diamond", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5212:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "certora_contract_name": "Diamond", - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5216:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "certora_contract_name": "Diamond", - "id": 604, - "nodeType": "ArrayTypeName", - "src": "5216:9:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5212:20:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5185:47:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 611, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5242:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 613, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5250:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5242:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "id": 614, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5255:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:16:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "5242:16:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5268:17:0", - "subExpression": { - "baseExpression": { - "certora_contract_name": "Diamond", - "id": 617, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5275:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "certora_contract_name": "Diamond", - "id": 619, - "indexExpression": { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5283:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5275:10:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 621, - "nodeType": "ExpressionStatement", - "src": "5268:17:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "certora_contract_name": "Diamond", - "id": 622, - "name": "acc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "5295:3:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 623, - "name": "scratch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "5301:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5309:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5301:14:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5295:20:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "5295:20:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "90dc1163", - "id": 628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "controlFlow", - "nameLocation": "4782:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 543, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 542, - "mutability": "mutable", - "name": "n", - "nameLocation": "4802:1:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4794:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4794:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4793:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 546, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 545, - "mutability": "mutable", - "name": "acc", - "nameLocation": "4834:3:0", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "4826:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4826:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4825:13:0" - }, - "scope": 668, - "src": "4773:549:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 649, - "nodeType": "Block", - "src": "5388:88:0", - "statements": [ - { - "assignments": [ - 636, - null - ], - "certora_contract_name": "Diamond", - "declarations": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "ok", - "nameLocation": "5404:2:0", - "nodeType": "VariableDeclaration", - "scope": 649, - "src": "5399:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5399:4:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 643, - "initialValue": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "hexValue": "", - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "certora_contract_name": "Diamond", - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 630, - "src": "5412:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5415:4:0", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5412:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "certora_contract_name": "Diamond", - "hexValue": "30", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:1:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "src": "5412:17:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5412:21:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5398:35:0" - }, - { - "certora_contract_name": "Diamond", - "expression": { - "arguments": [ - { - "certora_contract_name": "Diamond", - "id": 645, - "name": "ok", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "5451:2:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "certora_contract_name": "Diamond", - "hexValue": "63616c6c206661696c6564", - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5455:13:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - }, - "value": "call failed" - } - ], - "certora_contract_name": "Diamond", - "expression": { - "argumentTypes": [ - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a", - "typeString": "literal_string \"call failed\"" - } - ], - "certora_contract_name": "Diamond", - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5443:26:0", - "tryCall": false, - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 648, - "nodeType": "ExpressionStatement", - "src": "5443:26:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "d5b488b2", - "id": 650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "certora_contract_name": "Diamond", - "id": 633, - "kind": "modifierInvocation", - "modifierName": { - "certora_contract_name": "Diamond", - "id": 632, - "name": "onlyOwner", - "nameLocations": [ - "5378:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 164, - "src": "5378:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "5378:9:0" - } - ], - "name": "sendNothing", - "nameLocation": "5337:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 630, - "mutability": "mutable", - "name": "to", - "nameLocation": "5365:2:0", - "nodeType": "VariableDeclaration", - "scope": 650, - "src": "5349:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "5348:20:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 634, - "nodeType": "ParameterList", - "parameters": [], - "src": "5388:0:0" - }, - "scope": 668, - "src": "5328:148:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 653, - "nodeType": "Block", - "src": "5509:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 654, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 651, - "nodeType": "ParameterList", - "parameters": [], - "src": "5489:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 652, - "nodeType": "ParameterList", - "parameters": [], - "src": "5509:0:0" - }, - "scope": 668, - "src": "5482:29:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 657, - "nodeType": "Block", - "src": "5545:2:0", - "statements": [] - }, - "certora_contract_name": "Diamond", - "id": 658, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 655, - "nodeType": "ParameterList", - "parameters": [], - "src": "5525:2:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 656, - "nodeType": "ParameterList", - "parameters": [], - "src": "5545:0:0" - }, - "scope": 668, - "src": "5517:30:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "certora_contract_name": "Diamond", - "id": 666, - "nodeType": "Block", - "src": "5614:909:0", - "statements": [ - { - "AST": { - "certora_contract_name": "Diamond", - "nativeSrc": "5633:884:0", - "nodeType": "YulBlock", - "src": "5633:884:0", - "statements": [ - { - "body": { - "nativeSrc": "5671:121:0", - "nodeType": "YulBlock", - "src": "5671:121:0", - "statements": [ - { - "body": { - "nativeSrc": "5702:45:0", - "nodeType": "YulBlock", - "src": "5702:45:0", - "statements": [ - { - "nativeSrc": "5724:5:0", - "nodeType": "YulLeave", - "src": "5724:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5699:1:0", - "nodeType": "YulIdentifier", - "src": "5699:1:0" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "5692:6:0", - "nodeType": "YulIdentifier", - "src": "5692:6:0" - }, - "nativeSrc": "5692:9:0", - "nodeType": "YulFunctionCall", - "src": "5692:9:0" - }, - "nativeSrc": "5689:58:0", - "nodeType": "YulIf", - "src": "5689:58:0" - }, - { - "nativeSrc": "5764:14:0", - "nodeType": "YulAssignment", - "src": "5764:14:0", - "value": { - "arguments": [ - { - "name": "a", - "nativeSrc": "5773:1:0", - "nodeType": "YulIdentifier", - "src": "5773:1:0" - }, - { - "kind": "number", - "nativeSrc": "5776:1:0", - "nodeType": "YulLiteral", - "src": "5776:1:0", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "5769:3:0", - "nodeType": "YulIdentifier", - "src": "5769:3:0" - }, - "nativeSrc": "5769:9:0", - "nodeType": "YulFunctionCall", - "src": "5769:9:0" - }, - "variableNames": [ - { - "name": "b", - "nativeSrc": "5764:1:0", - "nodeType": "YulIdentifier", - "src": "5764:1:0" - } - ] - } - ] - }, - "name": "double", - "nativeSrc": "5647:145:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "a", - "nativeSrc": "5663:1:0", - "nodeType": "YulTypedName", - "src": "5663:1:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "b", - "nativeSrc": "5669:1:0", - "nodeType": "YulTypedName", - "src": "5669:1:0", - "type": "" - } - ], - "src": "5647:145:0" - }, - { - "nativeSrc": "5805:12:0", - "nodeType": "YulVariableDeclaration", - "src": "5805:12:0", - "value": { - "kind": "number", - "nativeSrc": "5816:1:0", - "nodeType": "YulLiteral", - "src": "5816:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "acc", - "nativeSrc": "5809:3:0", - "nodeType": "YulTypedName", - "src": "5809:3:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5933:210:0", - "nodeType": "YulBlock", - "src": "5933:210:0", - "statements": [ - { - "body": { - "nativeSrc": "5963:48:0", - "nodeType": "YulBlock", - "src": "5963:48:0", - "statements": [ - { - "nativeSrc": "5985:8:0", - "nodeType": "YulContinue", - "src": "5985:8:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5957:1:0", - "nodeType": "YulIdentifier", - "src": "5957:1:0" - }, - { - "kind": "number", - "nativeSrc": "5960:1:0", - "nodeType": "YulLiteral", - "src": "5960:1:0", - "type": "", - "value": "5" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "5954:2:0", - "nodeType": "YulIdentifier", - "src": "5954:2:0" - }, - "nativeSrc": "5954:8:0", - "nodeType": "YulFunctionCall", - "src": "5954:8:0" - }, - "nativeSrc": "5951:60:0", - "nodeType": "YulIf", - "src": "5951:60:0" - }, - { - "body": { - "nativeSrc": "6041:45:0", - "nodeType": "YulBlock", - "src": "6041:45:0", - "statements": [ - { - "nativeSrc": "6063:5:0", - "nodeType": "YulBreak", - "src": "6063:5:0" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "6034:1:0", - "nodeType": "YulIdentifier", - "src": "6034:1:0" - }, - { - "kind": "number", - "nativeSrc": "6037:2:0", - "nodeType": "YulLiteral", - "src": "6037:2:0", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6031:2:0", - "nodeType": "YulIdentifier", - "src": "6031:2:0" - }, - "nativeSrc": "6031:9:0", - "nodeType": "YulFunctionCall", - "src": "6031:9:0" - }, - "nativeSrc": "6028:58:0", - "nodeType": "YulIf", - "src": "6028:58:0" - }, - { - "nativeSrc": "6103:26:0", - "nodeType": "YulAssignment", - "src": "6103:26:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6114:3:0", - "nodeType": "YulIdentifier", - "src": "6114:3:0" - }, - { - "arguments": [ - { - "name": "i", - "nativeSrc": "6126:1:0", - "nodeType": "YulIdentifier", - "src": "6126:1:0" - } - ], - "functionName": { - "name": "double", - "nativeSrc": "6119:6:0", - "nodeType": "YulIdentifier", - "src": "6119:6:0" - }, - "nativeSrc": "6119:9:0", - "nodeType": "YulFunctionCall", - "src": "6119:9:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6110:3:0", - "nodeType": "YulIdentifier", - "src": "6110:3:0" - }, - "nativeSrc": "6110:19:0", - "nodeType": "YulFunctionCall", - "src": "6110:19:0" - }, - "variableNames": [ - { - "name": "acc", - "nativeSrc": "6103:3:0", - "nodeType": "YulIdentifier", - "src": "6103:3:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5880:1:0", - "nodeType": "YulIdentifier", - "src": "5880:1:0" - }, - { - "name": "n", - "nativeSrc": "5883:1:0", - "nodeType": "YulIdentifier", - "src": "5883:1:0" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "5877:2:0", - "nodeType": "YulIdentifier", - "src": "5877:2:0" - }, - "nativeSrc": "5877:8:0", - "nodeType": "YulFunctionCall", - "src": "5877:8:0" - }, - "nativeSrc": "5830:313:0", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "5886:46:0", - "nodeType": "YulBlock", - "src": "5886:46:0", - "statements": [ - { - "nativeSrc": "5904:14:0", - "nodeType": "YulAssignment", - "src": "5904:14:0", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5913:1:0", - "nodeType": "YulIdentifier", - "src": "5913:1:0" - }, - { - "kind": "number", - "nativeSrc": "5916:1:0", - "nodeType": "YulLiteral", - "src": "5916:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5909:3:0", - "nodeType": "YulIdentifier", - "src": "5909:3:0" - }, - "nativeSrc": "5909:9:0", - "nodeType": "YulFunctionCall", - "src": "5909:9:0" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "5904:1:0", - "nodeType": "YulIdentifier", - "src": "5904:1:0" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "5834:42:0", - "nodeType": "YulBlock", - "src": "5834:42:0", - "statements": [ - { - "nativeSrc": "5852:10:0", - "nodeType": "YulVariableDeclaration", - "src": "5852:10:0", - "value": { - "kind": "number", - "nativeSrc": "5861:1:0", - "nodeType": "YulLiteral", - "src": "5861:1:0", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "5856:1:0", - "nodeType": "YulTypedName", - "src": "5856:1:0", - "type": "" - } - ] - } - ] - }, - "src": "5830:313:0" - }, - { - "cases": [ - { - "body": { - "nativeSrc": "6194:40:0", - "nodeType": "YulBlock", - "src": "6194:40:0", - "statements": [ - { - "nativeSrc": "6212:8:0", - "nodeType": "YulAssignment", - "src": "6212:8:0", - "value": { - "name": "acc", - "nativeSrc": "6217:3:0", - "nodeType": "YulIdentifier", - "src": "6217:3:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6212:1:0", - "nodeType": "YulIdentifier", - "src": "6212:1:0" - } - ] - } - ] - }, - "nativeSrc": "6187:47:0", - "nodeType": "YulCase", - "src": "6187:47:0", - "value": { - "kind": "number", - "nativeSrc": "6192:1:0", - "nodeType": "YulLiteral", - "src": "6192:1:0", - "type": "", - "value": "0" - } - }, - { - "body": { - "nativeSrc": "6254:48:0", - "nodeType": "YulBlock", - "src": "6254:48:0", - "statements": [ - { - "nativeSrc": "6272:16:0", - "nodeType": "YulAssignment", - "src": "6272:16:0", - "value": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6281:3:0", - "nodeType": "YulIdentifier", - "src": "6281:3:0" - }, - { - "kind": "number", - "nativeSrc": "6286:1:0", - "nodeType": "YulLiteral", - "src": "6286:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6277:3:0", - "nodeType": "YulIdentifier", - "src": "6277:3:0" - }, - "nativeSrc": "6277:11:0", - "nodeType": "YulFunctionCall", - "src": "6277:11:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6272:1:0", - "nodeType": "YulIdentifier", - "src": "6272:1:0" - } - ] - } - ] - }, - "nativeSrc": "6247:55:0", - "nodeType": "YulCase", - "src": "6247:55:0", - "value": { - "kind": "number", - "nativeSrc": "6252:1:0", - "nodeType": "YulLiteral", - "src": "6252:1:0", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "6323:38:0", - "nodeType": "YulBlock", - "src": "6323:38:0", - "statements": [ - { - "nativeSrc": "6341:6:0", - "nodeType": "YulAssignment", - "src": "6341:6:0", - "value": { - "kind": "number", - "nativeSrc": "6346:1:0", - "nodeType": "YulLiteral", - "src": "6346:1:0", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6341:1:0", - "nodeType": "YulIdentifier", - "src": "6341:1:0" - } - ] - } - ] - }, - "nativeSrc": "6315:46:0", - "nodeType": "YulCase", - "src": "6315:46:0", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "acc", - "nativeSrc": "6167:3:0", - "nodeType": "YulIdentifier", - "src": "6167:3:0" - }, - { - "kind": "number", - "nativeSrc": "6172:1:0", - "nodeType": "YulLiteral", - "src": "6172:1:0", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6163:3:0", - "nodeType": "YulIdentifier", - "src": "6163:3:0" - }, - "nativeSrc": "6163:11:0", - "nodeType": "YulFunctionCall", - "src": "6163:11:0" - }, - "nativeSrc": "6156:205:0", - "nodeType": "YulSwitch", - "src": "6156:205:0" - }, - { - "nativeSrc": "6374:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6374:16:0", - "value": { - "hexValue": "79756c", - "kind": "string", - "nativeSrc": "6385:5:0", - "nodeType": "YulLiteral", - "src": "6385:5:0", - "type": "", - "value": "yul" - }, - "variables": [ - { - "name": "tag", - "nativeSrc": "6378:3:0", - "nodeType": "YulTypedName", - "src": "6378:3:0", - "type": "" - } - ] - }, - { - "nativeSrc": "6403:16:0", - "nodeType": "YulVariableDeclaration", - "src": "6403:16:0", - "value": { - "kind": "bool", - "nativeSrc": "6415:4:0", - "nodeType": "YulLiteral", - "src": "6415:4:0", - "type": "", - "value": "true" - }, - "variables": [ - { - "name": "flag", - "nativeSrc": "6407:4:0", - "nodeType": "YulTypedName", - "src": "6407:4:0", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "6458:49:0", - "nodeType": "YulBlock", - "src": "6458:49:0", - "statements": [ - { - "nativeSrc": "6476:17:0", - "nodeType": "YulAssignment", - "src": "6476:17:0", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6486:1:0", - "nodeType": "YulLiteral", - "src": "6486:1:0", - "type": "", - "value": "0" - }, - { - "name": "tag", - "nativeSrc": "6489:3:0", - "nodeType": "YulIdentifier", - "src": "6489:3:0" - } - ], - "functionName": { - "name": "byte", - "nativeSrc": "6481:4:0", - "nodeType": "YulIdentifier", - "src": "6481:4:0" - }, - "nativeSrc": "6481:12:0", - "nodeType": "YulFunctionCall", - "src": "6481:12:0" - }, - "variableNames": [ - { - "name": "r", - "nativeSrc": "6476:1:0", - "nodeType": "YulIdentifier", - "src": "6476:1:0" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "flag", - "nativeSrc": "6439:4:0", - "nodeType": "YulIdentifier", - "src": "6439:4:0" - }, - { - "arguments": [ - { - "name": "r", - "nativeSrc": "6448:1:0", - "nodeType": "YulIdentifier", - "src": "6448:1:0" - }, - { - "kind": "number", - "nativeSrc": "6451:4:0", - "nodeType": "YulLiteral", - "src": "6451:4:0", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6445:2:0", - "nodeType": "YulIdentifier", - "src": "6445:2:0" - }, - "nativeSrc": "6445:11:0", - "nodeType": "YulFunctionCall", - "src": "6445:11:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "6435:3:0", - "nodeType": "YulIdentifier", - "src": "6435:3:0" - }, - "nativeSrc": "6435:22:0", - "nodeType": "YulFunctionCall", - "src": "6435:22:0" - }, - "nativeSrc": "6432:75:0", - "nodeType": "YulIf", - "src": "6432:75:0" - } - ] - }, - "certora_contract_name": "Diamond", - "evmVersion": "prague", - "externalReferences": [ - { - "declaration": 660, - "isOffset": false, - "isSlot": false, - "src": "5883:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6212:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6272:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6341:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6448:1:0", - "valueSize": 1 - }, - { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "6476:1:0", - "valueSize": 1 - } - ], - "id": 665, - "nodeType": "InlineAssembly", - "src": "5624:893:0" - } - ] - }, - "certora_contract_name": "Diamond", - "functionSelector": "692103d0", - "id": 667, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "yulStuff", - "nameLocation": "5562:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "certora_contract_name": "Diamond", - "id": 661, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "n", - "nameLocation": "5579:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5571:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5570:11:0" - }, - "returnParameters": { - "certora_contract_name": "Diamond", - "id": 664, - "nodeType": "ParameterList", - "parameters": [ - { - "certora_contract_name": "Diamond", - "constant": false, - "id": 663, - "mutability": "mutable", - "name": "r", - "nameLocation": "5611:1:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "5603:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "certora_contract_name": "Diamond", - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5603:7:0", - "typeDescriptions": { - "certora_contract_name": "Diamond", - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5602:11:0" - }, - "scope": 668, - "src": "5553:970:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 669, - "src": "2158:4367:0", - "usedErrors": [ - 60, - 66 - ], - "usedEvents": [ - 91, - 149 - ] - } - ], - "src": "384:6142:0" - } - } - } -} diff --git a/tests/fixtures/solidity_ast/vyper_mixed.asts.json b/tests/fixtures/solidity_ast/vyper_mixed.asts.json deleted file mode 100644 index 36e94da..0000000 --- a/tests/fixtures/solidity_ast/vyper_mixed.asts.json +++ /dev/null @@ -1,1251 +0,0 @@ -{ - "counter.sol": { - "counter.sol": { - "1": { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ], - "nodeType": "PragmaDirective", - "src": "32:24:0" - }, - "2": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "81:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "3": { - "constant": false, - "functionSelector": "06661abd", - "id": 3, - "mutability": "mutable", - "name": "count", - "nameLocation": "96:5:0", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "81:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "81:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "public", - "certora_contract_name": "Counter" - }, - "4": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [], - "src": "126:2:0", - "certora_contract_name": "Counter" - }, - "5": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "6": { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 15, - "src": "145:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "internal", - "certora_contract_name": "Counter" - }, - "7": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 15, - "src": "145:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "internal", - "certora_contract_name": "Counter" - } - ], - "src": "144:9:0", - "certora_contract_name": "Counter" - }, - "8": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "9": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "10": { - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "src": "164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "11": { - "expression": { - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "src": "164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "id": 11, - "nodeType": "ExpressionStatement", - "src": "164:10:0", - "certora_contract_name": "Counter" - }, - "12": { - "id": 12, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "13": { - "expression": { - "id": 12, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "functionReturnParameters": 7, - "id": 13, - "nodeType": "Return", - "src": "184:12:0", - "certora_contract_name": "Counter" - }, - "14": { - "id": 14, - "nodeType": "Block", - "src": "154:49:0", - "statements": [ - { - "expression": { - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "src": "164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "id": 11, - "nodeType": "ExpressionStatement", - "src": "164:10:0", - "certora_contract_name": "Counter" - }, - { - "expression": { - "id": 12, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "functionReturnParameters": 7, - "id": 13, - "nodeType": "Return", - "src": "184:12:0", - "certora_contract_name": "Counter" - } - ], - "certora_contract_name": "Counter" - }, - "15": { - "body": { - "id": 14, - "nodeType": "Block", - "src": "154:49:0", - "statements": [ - { - "expression": { - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "src": "164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "id": 11, - "nodeType": "ExpressionStatement", - "src": "164:10:0", - "certora_contract_name": "Counter" - }, - { - "expression": { - "id": 12, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "functionReturnParameters": 7, - "id": 13, - "nodeType": "Return", - "src": "184:12:0", - "certora_contract_name": "Counter" - } - ], - "certora_contract_name": "Counter" - }, - "functionSelector": "d09de08a", - "id": 15, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "117:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [], - "src": "126:2:0", - "certora_contract_name": "Counter" - }, - "returnParameters": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 15, - "src": "145:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "internal", - "certora_contract_name": "Counter" - } - ], - "src": "144:9:0", - "certora_contract_name": "Counter" - }, - "scope": 16, - "src": "108:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public", - "certora_contract_name": "Counter" - }, - "16": { - "abstract": false, - "baseContracts": [], - "canonicalName": "Counter", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 16, - "linearizedBaseContracts": [ - 16 - ], - "name": "Counter", - "nameLocation": "67:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "06661abd", - "id": 3, - "mutability": "mutable", - "name": "count", - "nameLocation": "96:5:0", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "81:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "81:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "public", - "certora_contract_name": "Counter" - }, - { - "body": { - "id": 14, - "nodeType": "Block", - "src": "154:49:0", - "statements": [ - { - "expression": { - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "src": "164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "id": 11, - "nodeType": "ExpressionStatement", - "src": "164:10:0", - "certora_contract_name": "Counter" - }, - { - "expression": { - "id": 12, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "functionReturnParameters": 7, - "id": 13, - "nodeType": "Return", - "src": "184:12:0", - "certora_contract_name": "Counter" - } - ], - "certora_contract_name": "Counter" - }, - "functionSelector": "d09de08a", - "id": 15, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "117:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [], - "src": "126:2:0", - "certora_contract_name": "Counter" - }, - "returnParameters": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 15, - "src": "145:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "internal", - "certora_contract_name": "Counter" - } - ], - "src": "144:9:0", - "certora_contract_name": "Counter" - }, - "scope": 16, - "src": "108:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public", - "certora_contract_name": "Counter" - } - ], - "scope": 17, - "src": "58:147:0", - "usedErrors": [], - "usedEvents": [] - }, - "17": { - "absolutePath": "counter.sol", - "exportedSymbols": { - "Counter": [ - 16 - ] - }, - "id": 17, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ], - "nodeType": "PragmaDirective", - "src": "32:24:0" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Counter", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 16, - "linearizedBaseContracts": [ - 16 - ], - "name": "Counter", - "nameLocation": "67:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "06661abd", - "id": 3, - "mutability": "mutable", - "name": "count", - "nameLocation": "96:5:0", - "nodeType": "VariableDeclaration", - "scope": 16, - "src": "81:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "81:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "public", - "certora_contract_name": "Counter" - }, - { - "body": { - "id": 14, - "nodeType": "Block", - "src": "154:49:0", - "statements": [ - { - "expression": { - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1", - "certora_contract_name": "Counter" - }, - "src": "164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "id": 11, - "nodeType": "ExpressionStatement", - "src": "164:10:0", - "certora_contract_name": "Counter" - }, - { - "expression": { - "id": 12, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "functionReturnParameters": 7, - "id": 13, - "nodeType": "Return", - "src": "184:12:0", - "certora_contract_name": "Counter" - } - ], - "certora_contract_name": "Counter" - }, - "functionSelector": "d09de08a", - "id": 15, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "117:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [], - "src": "126:2:0", - "certora_contract_name": "Counter" - }, - "returnParameters": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 15, - "src": "145:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "certora_contract_name": "Counter" - }, - "visibility": "internal", - "certora_contract_name": "Counter" - } - ], - "src": "144:9:0", - "certora_contract_name": "Counter" - }, - "scope": 16, - "src": "108:95:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public", - "certora_contract_name": "Counter" - } - ], - "scope": 17, - "src": "58:147:0", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "32:174:0" - } - }, - "counter.vy": { - "0": { - "ast_type": "Module", - "node_id": 0, - "src": "0:113:0", - "name": "counter.vy", - "path": "counter.vy", - "doc_string": null, - "body": [ - { - "ast_type": "VariableDecl", - "node_id": 1, - "src": "0:22:0", - "target": { - "ast_type": "Name", - "node_id": 2, - "src": "0:5:0", - "id": "count" - }, - "annotation": { - "ast_type": "Name", - "node_id": 3, - "src": "14:7:0", - "id": "uint256" - }, - "is_public": true, - "is_constant": false, - "is_immutable": false, - "value": null - }, - { - "ast_type": "FunctionDef", - "node_id": 4, - "src": "24:89:0", - "name": "increment", - "args": { - "ast_type": "arguments", - "node_id": 5, - "src": "48:0:0", - "args": [], - "defaults": [] - }, - "returns": { - "ast_type": "Name", - "node_id": 6, - "src": "54:7:0", - "id": "uint256" - }, - "decorator_list": [ - { - "ast_type": "Name", - "node_id": 7, - "src": "25:8:0", - "id": "external" - } - ], - "doc_string": null, - "body": [ - { - "ast_type": "AugAssign", - "node_id": 8, - "src": "67:15:0", - "target": { - "ast_type": "Attribute", - "node_id": 9, - "src": "67:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 10, - "src": "67:4:0", - "id": "self" - } - }, - "op": { - "ast_type": "Add", - "node_id": 11, - "src": "67:15:0" - }, - "value": { - "ast_type": "Int", - "node_id": 12, - "src": "81:1:0", - "value": 1 - } - }, - { - "ast_type": "Return", - "node_id": 13, - "src": "87:24:0", - "value": { - "ast_type": "Attribute", - "node_id": 14, - "src": "94:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 15, - "src": "94:4:0", - "id": "self" - } - } - } - ] - } - ] - }, - "1": { - "ast_type": "VariableDecl", - "node_id": 1, - "src": "0:22:0", - "target": { - "ast_type": "Name", - "node_id": 2, - "src": "0:5:0", - "id": "count" - }, - "annotation": { - "ast_type": "Name", - "node_id": 3, - "src": "14:7:0", - "id": "uint256" - }, - "is_public": true, - "is_constant": false, - "is_immutable": false, - "value": null - }, - "2": { - "ast_type": "Name", - "node_id": 2, - "src": "0:5:0", - "id": "count" - }, - "3": { - "ast_type": "Name", - "node_id": 3, - "src": "14:7:0", - "id": "uint256" - }, - "4": { - "ast_type": "FunctionDef", - "node_id": 4, - "src": "24:89:0", - "name": "increment", - "args": { - "ast_type": "arguments", - "node_id": 5, - "src": "48:0:0", - "args": [], - "defaults": [] - }, - "returns": { - "ast_type": "Name", - "node_id": 6, - "src": "54:7:0", - "id": "uint256" - }, - "decorator_list": [ - { - "ast_type": "Name", - "node_id": 7, - "src": "25:8:0", - "id": "external" - } - ], - "doc_string": null, - "body": [ - { - "ast_type": "AugAssign", - "node_id": 8, - "src": "67:15:0", - "target": { - "ast_type": "Attribute", - "node_id": 9, - "src": "67:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 10, - "src": "67:4:0", - "id": "self" - } - }, - "op": { - "ast_type": "Add", - "node_id": 11, - "src": "67:15:0" - }, - "value": { - "ast_type": "Int", - "node_id": 12, - "src": "81:1:0", - "value": 1 - } - }, - { - "ast_type": "Return", - "node_id": 13, - "src": "87:24:0", - "value": { - "ast_type": "Attribute", - "node_id": 14, - "src": "94:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 15, - "src": "94:4:0", - "id": "self" - } - } - } - ] - }, - "5": { - "ast_type": "arguments", - "node_id": 5, - "src": "48:0:0", - "args": [], - "defaults": [] - }, - "6": { - "ast_type": "Name", - "node_id": 6, - "src": "54:7:0", - "id": "uint256" - }, - "7": { - "ast_type": "Name", - "node_id": 7, - "src": "25:8:0", - "id": "external" - }, - "8": { - "ast_type": "AugAssign", - "node_id": 8, - "src": "67:15:0", - "target": { - "ast_type": "Attribute", - "node_id": 9, - "src": "67:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 10, - "src": "67:4:0", - "id": "self" - } - }, - "op": { - "ast_type": "Add", - "node_id": 11, - "src": "67:15:0" - }, - "value": { - "ast_type": "Int", - "node_id": 12, - "src": "81:1:0", - "value": 1 - } - }, - "9": { - "ast_type": "Attribute", - "node_id": 9, - "src": "67:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 10, - "src": "67:4:0", - "id": "self" - } - }, - "10": { - "ast_type": "Name", - "node_id": 10, - "src": "67:4:0", - "id": "self" - }, - "11": { - "ast_type": "Add", - "node_id": 11, - "src": "67:15:0" - }, - "12": { - "ast_type": "Int", - "node_id": 12, - "src": "81:1:0", - "value": 1 - }, - "13": { - "ast_type": "Return", - "node_id": 13, - "src": "87:24:0", - "value": { - "ast_type": "Attribute", - "node_id": 14, - "src": "94:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 15, - "src": "94:4:0", - "id": "self" - } - } - }, - "14": { - "ast_type": "Attribute", - "node_id": 14, - "src": "94:10:0", - "attr": "count", - "value": { - "ast_type": "Name", - "node_id": 15, - "src": "94:4:0", - "id": "self" - } - }, - "15": { - "ast_type": "Name", - "node_id": 15, - "src": "94:4:0", - "id": "self" - } - } - } -} diff --git a/tests/solidity_ast/test_consumer_migration.py b/tests/solidity_ast/test_consumer_migration.py deleted file mode 100644 index 85246bd..0000000 --- a/tests/solidity_ast/test_consumer_migration.py +++ /dev/null @@ -1,223 +0,0 @@ -"""Parity of the migrated AST consumers with the legacy raw-dict algorithms. - -Each test re-implements the pre-migration algorithm inline (frozen) and asserts the -typed replacement produces identical results on the real fixtures. -""" - -import json -from pathlib import Path -from typing import Any - -import pytest - -from certora_autosetup.setup.auto_munges import ( - CODE_ACCESS_PATCH_FILE, - _iter_code_accesses, - detect_code_accesses, -) -from certora_autosetup.setup.setup_prover import _iter_contract_declarations -from certora_autosetup.solidity_ast import AstDump -from certora_autosetup.utils.scope import Scope - -FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" -SOLC_FIXTURES = ["solc_0_4_26", "solc_0_5_17", "solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] - - -def _load_raw(name: str) -> dict[str, Any]: - with open(FIXTURES / f"{name}.asts.json") as f: - return json.load(f) - - -def _legacy_inheritance(asts: dict[str, Any]) -> tuple[dict[str, list[str]], set[str]]: - inheritance_info: dict[str, list[str]] = {} - abstract_contracts: set[str] = set() - id_to_name = {} - for abs_path_dict in asts.values(): - for nodes in abs_path_dict.values(): - for node in nodes.values(): - if node.get("nodeType") == "ContractDefinition": - if node.get("id") and node.get("name"): - id_to_name[node["id"]] = node["name"] - for abs_path_dict in asts.values(): - for nodes in abs_path_dict.values(): - for node in nodes.values(): - if node.get("nodeType") == "ContractDefinition" and node.get("name"): - if node.get("abstract", False) or node.get("contractKind", "contract") == "interface": - abstract_contracts.add(node["name"]) - linearized = node.get("linearizedBaseContracts", []) - if len(linearized) > 1: - bases = [id_to_name[i] for i in linearized[1:] if i in id_to_name] - if bases: - inheritance_info[node["name"]] = bases - return inheritance_info, abstract_contracts - - -@pytest.mark.parametrize("fixture", SOLC_FIXTURES) -def test_inheritance_extraction_parity(fixture: str) -> None: - raw = _load_raw(fixture) - expected_inheritance, expected_abstract = _legacy_inheritance(raw) - - declarations = list(_iter_contract_declarations(AstDump.from_dict(raw).files.values())) - id_to_name = {d.node_id: d.name for d in declarations if d.node_id and d.name} - inheritance: dict[str, list[str]] = {} - abstract: set[str] = set() - for decl in declarations: - if not decl.name: - continue - if decl.abstract or decl.contract_kind == "interface": - abstract.add(decl.name) - if len(decl.linearized_base_ids) > 1: - bases = [id_to_name[i] for i in decl.linearized_base_ids[1:] if i in id_to_name] - if bases: - inheritance[decl.name] = bases - - assert inheritance == expected_inheritance - assert abstract == expected_abstract - assert expected_inheritance # fixtures must actually exercise inheritance - - -@pytest.mark.parametrize("fixture", SOLC_FIXTURES) -def test_declared_contracts_parity(fixture: str) -> None: - raw = _load_raw(fixture) - expected: dict[str, set[str]] = {} - for abs_path_dict in raw.values(): - for abs_path, nodes in abs_path_dict.items(): - for node in nodes.values(): - if ( - node.get("nodeType") == "ContractDefinition" - and node.get("contractKind") != "interface" - and node.get("name") - ): - expected.setdefault(abs_path, set()).add(node["name"]) - - actual: dict[str, set[str]] = {} - for decl in _iter_contract_declarations(AstDump.from_dict(raw).files.values()): - if decl.contract_kind != "interface" and decl.name: - actual.setdefault(decl.source_path, set()).add(decl.name) - - assert actual == expected - - -def _code_access_ids(dump: AstDump) -> set[str]: - return { - c.node_id for _, source in dump.iter_sources() for c in _iter_code_accesses(source) - } - - -def test_code_access_survives_unknown_ancestor() -> None: - """A future-solc nodeType enclosing a .code access must not hide it: the typed - walk stops at the UnknownNode, and the raw flat-map sweep must pick it up.""" - raw = _load_raw("solc_0_8_30") - baseline = _code_access_ids(AstDump.from_dict(raw)) - assert baseline - - # Rename the nodeType of every enclosing statement of a .code access (its parent - # in the flat map heuristic: any node holding the access as a direct child). - mutated = json.loads(json.dumps(raw)) - for per_source in mutated.values(): - for nodes in per_source.values(): - access_ids = { - node["id"] - for node in nodes.values() - if isinstance(node, dict) - and node.get("nodeType") == "MemberAccess" - and node.get("memberName") == "code" - } - for node in nodes.values(): - if not isinstance(node, dict) or node.get("nodeType") == "MemberAccess": - continue - children = [ - v for v in node.values() if isinstance(v, dict) and "id" in v - ] + [ - item - for v in node.values() - if isinstance(v, list) - for item in v - if isinstance(item, dict) and "id" in item - ] - if any(c["id"] in access_ids for c in children): - node["nodeType"] = "SolcFutureStatement" - - mutated_dump = AstDump.from_dict(mutated) - assert all(s.is_parsed for _, s in mutated_dump.iter_sources()) - assert _code_access_ids(mutated_dump) == baseline - - -def test_patch_targets_the_containing_source_file(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: - """A .code access in an imported file compiled under another file's compilation - unit must be patched in the imported file, not the unit's main file.""" - project = tmp_path / "project" - project.mkdir() - lib_text = "address a; a.code;" # offsets below point into this text - (project / "lib.sol").write_text(lib_text) - (project / "main.sol").write_text("// no .code accesses here\n" * 4) - - code_off = lib_text.index("a.code") - member_access = { - "id": 7, - "src": f"{code_off}:6:1", - "nodeType": "MemberAccess", - "memberName": "code", - "expression": {"id": 6, "src": f"{code_off}:1:1", "nodeType": "Identifier", "name": "a"}, - } - source_unit = { - "id": 99, "src": "0:0:1", "nodeType": "SourceUnit", - "absolutePath": "lib.sol", "exportedSymbols": {}, "nodes": [], - } - dump = { - "main.sol": { - "main.sol": {"1": { - "id": 1, "src": "0:0:0", "nodeType": "SourceUnit", - "absolutePath": "main.sol", "exportedSymbols": {}, "nodes": [], - }}, - "lib.sol": {"99": source_unit, "7": member_access}, - } - } - ast_path = tmp_path / "asts.json" - ast_path.write_text(json.dumps(dump)) - - monkeypatch.chdir(project) - detect_code_accesses(lambda *a, **k: None, ast_path, tmp_path / "no_graph.json", Scope(project)) - - patches = json.loads((project / CODE_ACCESS_PATCH_FILE).read_text()) - assert [p["file"] for p in patches] == ["lib.sol"] - assert patches[0]["original"] == "a.code" - assert patches[0]["replacement"] == "certora_loadCode(a)" - - -def test_detect_code_accesses_end_to_end(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: - """Drive the migrated detect_code_accesses on the 0.8.30 fixture and check the - patch file targets the exact `probe.code` byte range of the source.""" - contracts = FIXTURES / "contracts" - project = tmp_path / "project" - project.mkdir() - source_name = "breadth_08.sol" - (project / source_name).write_bytes((contracts / source_name).read_bytes()) - (project / "dummy.spec").write_text("") - - ast_path = tmp_path / "asts.json" - ast_path.write_bytes((FIXTURES / "solc_0_8_30.asts.json").read_bytes()) - - monkeypatch.chdir(project) - messages: list[str] = [] - detect_code_accesses( - lambda msg, level="INFO": messages.append(f"{level}: {msg}"), - ast_path, - tmp_path / "no_graph.json", # absent: exercises the manual chain-check fallback - Scope(project), - ) - - patch_file = project / CODE_ACCESS_PATCH_FILE - assert patch_file.exists(), messages - patches = json.loads(patch_file.read_text()) - assert patches, messages - - source_text = (project / source_name).read_text() - for patch in patches: - assert patch["file"] == source_name - original = source_text[patch["offset"] : patch["offset"] + patch["length"]] - assert original == patch["original"] - assert original.endswith(".code") - assert patch["replacement"] == f"certora_loadCode({original[: -len('.code')]})" - # .code.length accesses must have been skipped as chained - assert all(".code.length" not in p["original"] for p in patches) diff --git a/tests/solidity_ast/test_fixture_parsing.py b/tests/solidity_ast/test_fixture_parsing.py deleted file mode 100644 index 13ac9b5..0000000 --- a/tests/solidity_ast/test_fixture_parsing.py +++ /dev/null @@ -1,144 +0,0 @@ -"""Strict round-trips of real certoraRun --dump_asts fixtures through the typed models. - -These are the schema-drift alarm: a solc release that adds a nodeType shows up as an -UnknownNode here, and a new field shows up as a non-empty model_extra — both fail. -""" - -from pathlib import Path - -import pytest - -from certora_autosetup.solidity_ast import ( - AstDump, - ContractDefinition, - ErrorDefinition, - InlineAssembly, - MemberAccess, - RevertStatement, - UncheckedBlock, - UnknownNode, - UserDefinedValueTypeDefinition, - YulBlock, - find_all, - walk, -) - -FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" -# 0.4/0.5 are below the >= 0.6 floor but must still parse fully typed (lenient-older -# policy); version-specific assertions below gate on this split. -LEGACY_FIXTURES = ["solc_0_4_26", "solc_0_5_17"] -MODERN_FIXTURES = ["solc_0_6_12", "solc_0_7_6", "solc_0_8_30"] -SOLC_FIXTURES = LEGACY_FIXTURES + MODERN_FIXTURES - - -@pytest.fixture(scope="module", params=SOLC_FIXTURES) -def dump(request: pytest.FixtureRequest) -> AstDump: - # solc_0_6_12 -> 0.6.12: parse with the producing version so VERSION_GATES are - # enforced on every fixture, not just trusted. - version = request.param.removeprefix("solc_").replace("_", ".") - return AstDump.load( - FIXTURES / f"{request.param}.asts.json", on_error="raise", solc_version=version - ) - - -def test_all_sources_parse(dump: AstDump) -> None: - sources = list(dump.iter_sources()) - assert sources - for _, source in sources: - assert source.raw_kind == "solidity" - assert source.root is not None - - -def test_no_unknown_nodes(dump: AstDump) -> None: - for _, _, root in dump.iter_parsed_roots(): - unknown = {n.nodeType for n in walk(root) if isinstance(n, UnknownNode)} - assert not unknown, f"nodeTypes not covered by the model set: {unknown}" - - -def test_no_extra_fields(dump: AstDump) -> None: - for _, _, root in dump.iter_parsed_roots(): - extras = { - f"{type(n).__name__}.{key}" - for n in walk(root) - for key in (n.model_extra or {}) - } - assert not extras, f"fields present in solc output but missing from models: {extras}" - - -def test_typed_index_covers_raw_index(dump: AstDump) -> None: - # The reverse (typed finding MORE nodes than the raw flat map) is expected: the - # certoraRun flattener does not descend through id-less container objects. - for _, source in dump.iter_sources(): - raw_ids = {int(i) for i in source.raw if i.lstrip("-").isdigit()} - missing = raw_ids - set(source.nodes) - assert not missing, f"{source.source_path}: raw ids unreachable by typed walk: {missing}" - - -def test_certora_contract_name_stamping(dump: AstDump) -> None: - stamped = [ - n - for _, source in dump.iter_sources() - for n in source.nodes.values() - if n.certora_contract_name is not None - ] - assert stamped - assert all(isinstance(n.certora_contract_name, str) for n in stamped) - - -def test_inheritance_semantics(dump: AstDump, request: pytest.FixtureRequest) -> None: - contracts = { - c.name: c - for _, _, root in dump.iter_parsed_roots() - for c in find_all(root, ContractDefinition) - } - diamond = contracts["Diamond"] - id_to_name = {c.id: c.name for c in contracts.values()} - linearized = [id_to_name[i] for i in diamond.linearizedBaseContracts] - assert linearized[0] == "Diamond" - assert set(linearized[1:]) >= {"Base"} - assert any(c.contractKind == "interface" for c in contracts.values()) - assert any(c.contractKind == "library" for c in contracts.values()) - if "dump" in request.fixturenames and request.node.callspec.params["dump"] in MODERN_FIXTURES: - # the `abstract` flag only exists from solc 0.6 - assert any(c.abstract for c in contracts.values()) - else: - assert not contracts["Base"].fullyImplemented - - -def test_src_location_points_at_source(dump: AstDump) -> None: - for _, _, root in dump.iter_parsed_roots(): - source_text = (FIXTURES / "contracts" / root.absolutePath).read_bytes() - contract = next(find_all(root, ContractDefinition)) - loc = contract.src_location - snippet = source_text[loc.offset : loc.offset + loc.length] - assert snippet.split()[0] in (b"contract", b"abstract", b"interface", b"library") - - -def test_yul_present(dump: AstDump, request: pytest.FixtureRequest) -> None: - assemblies = [ - a for _, _, root in dump.iter_parsed_roots() for a in find_all(root, InlineAssembly) - ] - assert assemblies - for assembly in assemblies: - if request.node.callspec.params["dump"] in MODERN_FIXTURES: - assert isinstance(assembly.AST, YulBlock) - assert assembly.AST.statements - else: - # the <= 0.5 dialect: no Yul tree, assembly source text + keyed refs - assert assembly.AST is None - assert assembly.operations - assert all(isinstance(r, dict) for r in assembly.externalReferences) - - -def test_08_specific_nodes_present() -> None: - dump = AstDump.load(FIXTURES / "solc_0_8_30.asts.json", on_error="raise") - roots = [root for _, _, root in dump.iter_parsed_roots()] - for node_type in (ErrorDefinition, RevertStatement, UncheckedBlock, UserDefinedValueTypeDefinition): - assert any(any(find_all(r, node_type)) for r in roots), node_type.__name__ - code_accesses = [ - m - for r in roots - for m in find_all(r, MemberAccess) - if m.memberName == "code" - ] - assert code_accesses diff --git a/tests/solidity_ast/test_loader.py b/tests/solidity_ast/test_loader.py deleted file mode 100644 index c11b261..0000000 --- a/tests/solidity_ast/test_loader.py +++ /dev/null @@ -1,99 +0,0 @@ -"""Loader behavior: degradation policy, Vyper passthrough, unknown-node fallback.""" - -from pathlib import Path - -import pytest -from pydantic import ValidationError - -from certora_autosetup.solidity_ast import AstDump, SourceUnit, UnknownNode, walk - -FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" - -MINIMAL_SOURCE_UNIT = { - "id": 1, - "src": "0:10:0", - "absolutePath": "a.sol", - "exportedSymbols": {}, - "nodes": [], - "nodeType": "SourceUnit", -} - - -def _dump_of(flat: dict) -> dict: - return {"a.sol": {"/abs/a.sol": flat}} - - -def test_minimal_source_unit_parses() -> None: - dump = AstDump.from_dict(_dump_of({"1": MINIMAL_SOURCE_UNIT}), on_error="raise") - [(_, source)] = list(dump.iter_sources()) - assert isinstance(source.root, SourceUnit) - assert source.nodes.keys() == {1} - assert dump.find_node("/abs/a.sol", 1) is source.root - - -def test_vyper_source_is_raw_passthrough() -> None: - dump = AstDump.load(FIXTURES / "vyper_mixed.asts.json", on_error="raise") - kinds = {source.source_path: source.raw_kind for _, source in dump.iter_sources()} - assert kinds == {"counter.sol": "solidity", "counter.vy": "vyper"} - vyper = next(s for _, s in dump.iter_sources() if s.raw_kind == "vyper") - assert vyper.root is None and vyper.nodes == {} and vyper.raw - # typed iteration skips it - assert all(path == "counter.sol" for _, path, _ in dump.iter_parsed_roots()) - - -def test_unknown_node_type_degrades_per_node() -> None: - root = dict(MINIMAL_SOURCE_UNIT) - root["nodes"] = [ - {"id": 2, "src": "0:5:0", "nodeType": "FrobnicationDefinition", "frob": True} - ] - dump = AstDump.from_dict(_dump_of({"1": root}), on_error="raise") - [(_, source)] = list(dump.iter_sources()) - assert source.root is not None - [unknown] = [n for n in walk(source.root) if isinstance(n, UnknownNode)] - assert unknown.nodeType == "FrobnicationDefinition" - assert unknown.model_extra == {"frob": True} - - -def test_shape_mismatch_degrades_per_source() -> None: - broken = dict(MINIMAL_SOURCE_UNIT) - broken["exportedSymbols"] = "not-a-dict" - data = _dump_of({"1": broken}) - - dump = AstDump.from_dict(data, on_error="raw") - [(_, source)] = list(dump.iter_sources()) - assert source.raw_kind == "parse_failed" - assert source.root is None and source.raw and source.parse_error - - with pytest.raises(ValidationError): - AstDump.from_dict(data, on_error="raise") - - -def test_stream_units_equivalent_to_load() -> None: - path = FIXTURES / "solc_0_8_30.asts.json" - loaded = AstDump.load(path, on_error="raise", solc_version="0.8.30") - streamed = list(AstDump.stream_units(path, on_error="raise", solc_version="0.8.30")) - assert [u.original_file for u in streamed] == list(loaded.files) - for unit in streamed: - expected = loaded.files[unit.original_file] - assert unit.sources.keys() == expected.sources.keys() - for source_path, source in unit.sources.items(): - other = expected.sources[source_path] - assert source.raw_kind == other.raw_kind - assert source.nodes.keys() == other.nodes.keys() - assert source.root == other.root - - -def test_stream_units_unit_filter_skips_before_validation() -> None: - path = FIXTURES / "solc_0_8_30.asts.json" - assert list(AstDump.stream_units(path, unit_filter=lambda rel: False)) == [] - kept = list(AstDump.stream_units(path, unit_filter=lambda rel: rel.endswith(".sol"))) - assert kept - - -def test_missing_source_unit_degrades() -> None: - data = _dump_of({"7": {"id": 7, "src": "0:1:0", "nodeType": "PragmaDirective", "literals": []}}) - dump = AstDump.from_dict(data, on_error="raw") - [(_, source)] = list(dump.iter_sources()) - assert source.raw_kind == "parse_failed" - with pytest.raises(ValueError): - AstDump.from_dict(data, on_error="raise") diff --git a/tests/solidity_ast/test_parent_graph_compat.py b/tests/solidity_ast/test_parent_graph_compat.py deleted file mode 100644 index 82044c8..0000000 --- a/tests/solidity_ast/test_parent_graph_compat.py +++ /dev/null @@ -1,22 +0,0 @@ -"""Byte-compatibility of the legacy parent-graph JSON. - -`.certora_internal/all_ast_parent_graph.json` is read by other code, so -`build_parent_graph_json` must reproduce the historical output byte-for-byte. -The golden file was produced by the frozen copy of the original algorithm in -tests/fixtures/solidity_ast/generate_fixtures.py --golden. -""" - -import json -from pathlib import Path - -from certora_autosetup.solidity_ast import build_parent_graph_json - -FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" - - -def test_parent_graph_byte_identical_to_golden() -> None: - with open(FIXTURES / "solc_0_8_30.asts.json") as f: - raw = json.load(f) - produced = json.dumps(build_parent_graph_json(raw), indent=2) + "\n" - golden = (FIXTURES / "expected_parent_graph_0_8_30.json").read_text() - assert produced == golden diff --git a/tests/solidity_ast/test_roundtrip.py b/tests/solidity_ast/test_roundtrip.py deleted file mode 100644 index 6c3cd1c..0000000 --- a/tests/solidity_ast/test_roundtrip.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Round-trip fidelity: parsing a dump and re-serializing must reproduce the source -JSON exactly (modulo the reversed contract-name stamp inside internalFunctionIDs).""" - -from pathlib import Path - -import pytest - -from certora_autosetup.solidity_ast import AstDump -from certora_autosetup.solidity_ast.diagnostics import roundtrip_diffs - -FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" - - -@pytest.mark.parametrize( - "fixture", - ["solc_0_4_26", "solc_0_5_17", "solc_0_6_12", "solc_0_7_6", "solc_0_8_30", "vyper_mixed"], -) -def test_roundtrip_is_loyal(fixture: str) -> None: - dump = AstDump.load(FIXTURES / f"{fixture}.asts.json", on_error="raise") - for _, source in dump.iter_sources(): - if source.root is None: - continue - diffs = roundtrip_diffs(source) - assert not diffs, f"{fixture}/{source.source_path}:\n" + "\n".join(diffs[:20]) diff --git a/tests/solidity_ast/test_traversal.py b/tests/solidity_ast/test_traversal.py deleted file mode 100644 index cc5b237..0000000 --- a/tests/solidity_ast/test_traversal.py +++ /dev/null @@ -1,75 +0,0 @@ -"""Traversal semantics: order, transparency of helper containers, parent maps.""" - -import json -from pathlib import Path - -from certora_autosetup.solidity_ast import ( - AstDump, - ContractDefinition, - FunctionDefinition, - IdentifierPath, - SourceUnit, - UsingForDirective, - build_parent_map, - find_all, - iter_children, - walk, -) - -FIXTURES = Path(__file__).parent.parent / "fixtures" / "solidity_ast" - - -def _root_08() -> SourceUnit: - dump = AstDump.load(FIXTURES / "solc_0_8_30.asts.json", on_error="raise") - [root] = [root for _, _, root in dump.iter_parsed_roots()] - return root - - -def test_walk_is_preorder_document_order() -> None: - root = _root_08() - nodes = list(walk(root)) - assert nodes[0] is root - # document order: src offsets of the top-level nodes are non-decreasing - offsets = [n.src_location.offset for n in iter_children(root)] - assert offsets == sorted(offsets) - - -def test_find_all_includes_matching_root() -> None: - root = _root_08() - contract = next(find_all(root, ContractDefinition)) - assert next(find_all(contract, ContractDefinition)) is contract - - -def test_helper_containers_are_transparent() -> None: - # `using {addPrice as +, ...} for Price global`: the IdentifierPath nodes live - # inside functionList helper objects and must still be reachable. - root = _root_08() - directives = [u for u in find_all(root, UsingForDirective) if u.functionList] - assert directives - paths = [p for u in directives for p in find_all(u, IdentifierPath)] - assert {getattr(p, "name") for p in paths} >= {"addPrice", "eqPrice"} - - -def test_parent_map_matches_containment() -> None: - root = _root_08() - parent_map = build_parent_map(root) - contract = next(find_all(root, ContractDefinition)) - function = next(find_all(contract, FunctionDefinition)) - # walk up from the function; must reach the contract, then the root (no parent) - seen = set() - node_id = function.id - while node_id in parent_map: - node_id = parent_map[node_id] - assert node_id not in seen, "cycle in parent map" - seen.add(node_id) - assert node_id == root.id - assert contract.id in seen - - -def test_parent_map_ids_exist_in_index() -> None: - dump = AstDump.load(FIXTURES / "solc_0_8_30.asts.json", on_error="raise") - for _, source in dump.iter_sources(): - assert source.root is not None - parent_map = build_parent_map(source.root) - assert set(parent_map) <= set(source.nodes) - assert set(parent_map.values()) <= set(source.nodes) From a3b2d76c07e12e64209f345649a450bd12079db0 Mon Sep 17 00:00:00 2001 From: Shelly Grossman Date: Sat, 18 Jul 2026 21:41:33 +0300 Subject: [PATCH 13/13] solidity_ast: drop inert `from __future__ import annotations` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the future import from the modules that have no forward references: base.py and the logic modules (loader, traversal, diagnostics, __main__). requires-python is >=3.12, so PEP 604 `X | None` evaluates natively and these modules gained nothing from postponed annotations. Kept in the six model modules (declarations, expressions, statements, types, yul, unions) where it IS load-bearing — they use unquoted cross-module forward refs (e.g. `value: YulExpression`) that only resolve as strings. 162 pure + 73 fixture tests pass. Co-Authored-By: Claude Fable 5 --- certora_autosetup/solidity_ast/__main__.py | 2 -- certora_autosetup/solidity_ast/base.py | 2 -- certora_autosetup/solidity_ast/diagnostics.py | 2 -- certora_autosetup/solidity_ast/loader.py | 2 -- certora_autosetup/solidity_ast/traversal.py | 2 -- 5 files changed, 10 deletions(-) diff --git a/certora_autosetup/solidity_ast/__main__.py b/certora_autosetup/solidity_ast/__main__.py index f1009cf..ce23e59 100644 --- a/certora_autosetup/solidity_ast/__main__.py +++ b/certora_autosetup/solidity_ast/__main__.py @@ -11,8 +11,6 @@ ``--json`` emits one machine-readable summary object instead of text. """ -from __future__ import annotations - import argparse import json import sys diff --git a/certora_autosetup/solidity_ast/base.py b/certora_autosetup/solidity_ast/base.py index 9cb33a9..b539c6c 100644 --- a/certora_autosetup/solidity_ast/base.py +++ b/certora_autosetup/solidity_ast/base.py @@ -25,8 +25,6 @@ known case is ``UsingForDirective.global``) """ -from __future__ import annotations - from typing import Callable, Literal, NamedTuple from pydantic import BaseModel, ConfigDict diff --git a/certora_autosetup/solidity_ast/diagnostics.py b/certora_autosetup/solidity_ast/diagnostics.py index 6bd3a1b..fc407a0 100644 --- a/certora_autosetup/solidity_ast/diagnostics.py +++ b/certora_autosetup/solidity_ast/diagnostics.py @@ -4,8 +4,6 @@ validate the models against real dumps at scale. """ -from __future__ import annotations - from typing import Any from .loader import SourceAst diff --git a/certora_autosetup/solidity_ast/loader.py b/certora_autosetup/solidity_ast/loader.py index 2ba51e4..961200c 100644 --- a/certora_autosetup/solidity_ast/loader.py +++ b/certora_autosetup/solidity_ast/loader.py @@ -13,8 +13,6 @@ Vyper sources (``ast_type``/``node_id`` dialect) are kept raw as ``vyper``. """ -from __future__ import annotations - import json import logging from dataclasses import dataclass, field diff --git a/certora_autosetup/solidity_ast/traversal.py b/certora_autosetup/solidity_ast/traversal.py index 866045a..60ab69c 100644 --- a/certora_autosetup/solidity_ast/traversal.py +++ b/certora_autosetup/solidity_ast/traversal.py @@ -1,7 +1,5 @@ """Traversal utilities over typed AST nodes, plus the legacy raw parent-graph builder.""" -from __future__ import annotations - from typing import Any, Iterable, Iterator, TypeVar, cast from pydantic import BaseModel